{
  "openapi": "3.0.1",
  "info": {
    "version": "0.0.10",
    "title": "Product Offer ManagementMs",
    "x-att-catalog": {
      "productTeam": "Customer Account Mgmt Svcs",
      "gatewayUsed": "AppGW",
      "internetFacing": "No",
      "scrumTeam": "Account Management Services",
      "scrumTeamContact": "IDP_ORCH_SERVICE@list.att.com",
      "shortDescription": "productoffermanagementms supports common business Product Offer functions that is standard across omni-channel (Agent, Self-Service (Online, Mobile App, Chat, IVR, etc), Back-Office, etc).  mS will orchestrate across functional domains to retrieve Product Offers.",
      "status": "DEVELOPMENT",
      "attFunctionalDomain": "Customer/CRM",
      "attSubDomain": "Customer Account Mgmt",
      "apiType": "PROCESS",
      "channelsSupported": [
        "WEB",
        "NATIVE",
        "SALESFORCE",
        "IVR",
        "CHAT"
      ],
      "aidUrl": "https://wiki.web.att.com/display/DRC/ProductOfferManagement+MS",
      "dynatraceUrl": "https://dynatrace.az.3pc.att.com/e/fc09f351-c4e7-46dc-afb8-cd98de60285e/#dashboard;gtf=-2h;gf=all;id=cf1119bf-edd9-4b73-bbbd-0fff0499dbd8",
      "appCodeUrl": "https://codecloud.web.att.com/projects/ST_SPTCAMS/repos/productoffermanagementms/browse",
      "efkUrl": "https://digitalelk.az.3pc.att.com/login?next=%2Fapp%2Fdiscover#/view/a7e37d00-a53b-11ec-8676-43494c9cec77",
      "specRepoUrl": "https://codecloud.web.att.com/projects/ST_GOV/repos/productoffermanagementms_specs/browse",
      "ccProject": "ST_SPTCAMS",
      "mots": 32767,
      "otherUrls": [
        {
          "name": "IDP NON PROD ENVIRONMENT LINK",
          "address": "https://wiki.web.att.com/display/SSI/IDP+NON-PROD+Environment"
        },
        {
          "name": "IDP PROD ENVIRONMENT LINK",
          "address": "https://wiki.web.att.com/display/SSI/IDP+PROD+Environment?src=contextnavpagetreemode"
        }
      ],
      "publishTo": ""
    }
  },
  "servers": [
    {
      "url": "/msapi/productoffermanagementms"
    }
  ],
  "components": {
    "parameters": {
      "Content-Type": {
        "name": "Content-Type",
        "in": "header",
        "description": "Provides the info on the content type (e.g. application/json)",
        "example": "application/json",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "Accept": {
        "name": "Accept",
        "in": "header",
        "description": "Provides the info on the accept",
        "example": "application/json",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "authorization": {
        "name": "authorization",
        "in": "header",
        "description": "Basic Authorization header used for microServices authentication and authorization. If not passed IDP microservice framework will return 401/403 accordingly.",
        "required": true,
        "example": "Basic bTIzOTgwQGlkcC5hdHQuY29tOmlkcEs4c3J2Y3NBdXRoMjAyMW5wISE=",
        "schema": {
          "type": "string"
        }
      },
      "idp-trace-id": {
        "name": "idp-trace-id",
        "in": "header",
        "description": "Transaction ID. Generally its injected by Gateway.",
        "example": "47e8df49d3410d39:e9123acf450013b3:594b2c9afde0d6ae:22",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "idpctx-session-id": {
        "name": "idpctx-session-id",
        "in": "header",
        "description": "Unique Session ID. Generally its injected by Gateway.",
        "example": "47e8df49d3410d39:e9123acf450013b3:594b2c9afde0d6ae:22",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "idpctx-callcontext": {
        "name": "idpctx-callcontext",
        "in": "header",
        "description": "Inform downstream mS what context the API is being invoked from (e.g. Customer, App, Agent). This will be injected by Gateway/MuleGateway/AppGateway",
        "example": "Customer",
        "required": false,
        "schema": {
          "type": "string"
        }
      },
      "idpctx-user-type": {
        "name": "idpctx-user-type",
        "in": "header",
        "description": "value = registered ; to be used for authenticated users. value = guest ; to be used for unauthenticated users or external clients. (Injected by Gateway. If not passed by Gateway, need to be passed by calling App)",
        "example": "guest,registered",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "idpctx-customerstate": {
        "name": "idpctx-customerstate",
        "in": "header",
        "description": "value = authenticated, unauthenticated (Injected by Gateway. If not passed by Gateway, need to be passed by calling App)",
        "example": "authenticated",
        "required": false,
        "schema": {
          "type": "string"
        }
      },
      "x-att-clientid": {
        "name": "x-att-clientid",
        "in": "header",
        "description": "Client Id from calling App (Injected by Gateway. If not passed by Gateway, need to be passed by calling App) Open a Dependency w/ CAMS to onboard your Client Id (e.g. fibermanagementexpms, nimbus, myatt-mas)",
        "example": "fibermanagementexpms,nimbus,myatt-mas",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "idp-dealercode": {
        "name": "idp-dealercode",
        "in": "header",
        "description": "User that is identified and credited for performing the transaction. For Agent flow, would be the assisting Agent ID. For Self Care, App needs to provide the ID that will be credited for the transaction. (e.g. ECARE), for non agent flow it should be default (e.g. default)",
        "example": "ECARE,default",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "idp-agentid": {
        "name": "idp-agentid",
        "in": "header",
        "description": "User that is identified and credited for performing the transaction. For Agent flow, would be the assisting Agent ID.  For Self Care, App needs to provide the ID that will be credited for the transaction. (e.g. ECARE, default) Sample Value: ECare (Services Self Care)",
        "required": false,
        "example": "ECARE",
        "schema": {
          "type": "string"
        }
      },
      "idpctx-appname": {
        "name": "idpctx-appname",
        "in": "header",
        "description": "App Name from calling Client. (Injected by Gateway. If not passed by Gateway, need to be passed by calling App).  CAMS doesn't validate this request header. Please check with P&O team for valid values (e.g. onlineservices)",
        "example": "onlinesales,onlineservices",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "idpctx-uuid": {
        "name": "idpctx-uuid",
        "in": "header",
        "description": "UUID, Derived from validateToken (Injected by Gateway. If not passed by Gateway, need to be passed by calling App)",
        "required": false,
        "schema": {
          "type": "string"
        }
      },
      "idpctx-loggedInid": {
        "name": "idpctx-loggedInid",
        "in": "header",
        "description": "Logged in ID, Derived from validateToken response",
        "example": "qay_tdase1_14342@slid.dum",
        "schema": {
          "type": "string"
        }
      },
      "idpctx-logintype": {
        "name": "idpctx-logintype",
        "in": "header",
        "description": "Login Type, Derived from validateToken response",
        "example": "qay_tdase1_14342@slid.dum",
        "schema": {
          "type": "string"
        }
      },
      "idp-channel": {
        "name": "idp-channel",
        "in": "header",
        "description": "Business segment (e.g. online)",
        "required": true,
        "example": "ONLINE",
        "schema": {
          "type": "string"
        }
      },
      "idpctx-linkedbsseaccnums": {
        "name": "idpctx-linkedbsseaccnums",
        "in": "header",
        "description": "The list of BSSe account numbers linked to customer's SLID as populated by Gateway or by client.  It's required when ProductType in request is WIRELESSBROADBAND and for BSSEBroadband requests",
        "example": "557053286363",
        "schema": {
          "type": "string"
        }
      }
    }
  },
  "tags": [
    {
      "name": "ProductAvailabilityV3"
    },
    {
      "name": "ProductReviewV3"
    },
    {
      "name": "SubmitChangeV3"
    }
  ],
  "paths": {
    "/v3/product/submitchange": {
      "post": {
        "tags": [
          "SubmitChangeV3"
        ],
        "summary": "Submit Order",
        "description": "This API is used to submit the order containing the chosen add-on.",
        "operationId": "SubmitChangeV3",
        "parameters": [
          {
            "$ref": "#/components/parameters/Content-Type"
          },
          {
            "$ref": "#/components/parameters/authorization"
          },
          {
            "$ref": "#/components/parameters/idp-trace-id"
          },
          {
            "$ref": "#/components/parameters/idpctx-session-id"
          },
          {
            "$ref": "#/components/parameters/idpctx-callcontext"
          },
          {
            "$ref": "#/components/parameters/idpctx-user-type"
          },
          {
            "$ref": "#/components/parameters/idpctx-customerstate"
          },
          {
            "$ref": "#/components/parameters/x-att-clientid"
          },
          {
            "$ref": "#/components/parameters/idpctx-linkedbsseaccnums"
          },
          {
            "$ref": "#/components/parameters/idp-dealercode"
          },
          {
            "$ref": "#/components/parameters/idp-agentid"
          },
          {
            "$ref": "#/components/parameters/idp-channel"
          },
          {
            "$ref": "#/components/parameters/idpctx-appname"
          },
          {
            "$ref": "#/components/parameters/idpctx-uuid"
          },
          {
            "$ref": "#/components/parameters/idpctx-loggedInid"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "type": "object",
                    "required": [
                      "accountNumber",
                      "productType",
                      "mode",
                      "intent",
                      "cartId",
                      "productOrderItemId",
                      "browserId",
                      "productOptions"
                    ],
                    "properties": {
                      "accountNumber": {
                        "type": "string",
                        "description": "Value will be active Account Id.",
                        "example": "298083011949"
                      },
                      "productType": {
                        "type": "string",
                        "description": "Product type is BROADBAND",
                        "example": "BROADBAND"
                      },
                      "mode": {
                        "type": "string",
                        "description": "Mode",
                        "example": "ProductPurchase"
                      },
                      "intent": {
                        "type": "string",
                        "description": "intent for CRP",
                        "example": "EWCS Booster"
                      },
                      "cartId": {
                        "type": "string",
                        "description": "Cart Identifier",
                        "example": "97da50d0-aa9c-11ec-818f-01c49e663c0c"
                      },
                      "productOrderItemId": {
                        "type": "array",
                        "items": {
                          "type": "string",
                          "description": "Order Identifier",
                          "example": "83f0072a-d578-46a1-ba23-59accea41f0a"
                        }
                      },
                      "browserId": {
                        "type": "string",
                        "description": "Browser ID from Gateway/UI",
                        "example": "OL_AE_20210914"
                      },
                      "productOptions": {
                        "type": "object",
                        "properties": {
                          "termsAndConditions": {
                            "type": "array",
                            "description": "List of terms and conditions accepted by customer on review page. Required when Terms are Incomplete",
                            "items": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "description": "Type of terms and conditions accepted by customer",
                                  "example": "ECONSENT"
                                },
                                "version": {
                                  "type": "string",
                                  "description": "Version",
                                  "example": "v5"
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": [
                      "accountNumber",
                      "productType",
                      "mode",
                      "cartId",
                      "ratingType",
                      "browserId"
                    ],
                    "properties": {
                      "accountNumber": {
                        "type": "string",
                        "example": "552321458441"
                      },
                      "productType": {
                        "type": "string",
                        "example": "BSSEWIRELESS, WIRELESS"
                      },
                      "mode": {
                        "type": "string",
                        "example": "changeAddOn, changeRatePlan, changePromo"
                      },
                      "ratingType": {
                        "type": "string",
                        "example": "postpaid"
                      },
                      "cartId": {
                        "type": "string",
                        "description": "To be submitted CartId",
                        "example": "97da50d0-aa9c-11ec-818f-01c49e663c0c"
                      },
                      "browserId": {
                        "type": "string",
                        "description": "Browser ID from Gateway/UI",
                        "example": "OL_AE_20210914"
                      },
                      "productOptions": {
                        "type": "object",
                        "properties": {
                          "termsAndConditions": {
                            "type": "array",
                            "description": "List of terms and conditions accepted by customer on review page. Required when Terms are Incomplete",
                            "items": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "description": "Type of terms and conditions accepted by customer",
                                  "example": "MRC_GEN"
                                },
                                "version": {
                                  "type": "string",
                                  "description": "Version",
                                  "example": "v1"
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": [
                      "accountNumber",
                      "productType",
                      "mode",
                      "ratingType",
                      "browserId",
                      "addOnInfo"
                    ],
                    "properties": {
                      "accountNumber": {
                        "type": "string",
                        "description": "Account number",
                        "example": "298083011948"
                      },
                      "productType": {
                        "type": "string",
                        "description": "Product type",
                        "example": "BSSEWIRELESS"
                      },
                      "mode": {
                        "type": "string",
                        "description": "Mode of operation",
                        "example": "changeAddOn"
                      },
                      "ratingType": {
                        "type": "string",
                        "description": "Rating type",
                        "example": "postpaid"
                      },
                      "browserId": {
                        "type": "string",
                        "description": "Browser ID",
                        "example": "123456"
                      },
                      "addOnInfo": {
                        "type": "array",
                        "description": "Information about the add-ons",
                        "items": {
                          "type": "object",
                          "properties": {
                            "action": {
                              "type": "string",
                              "description": "Action type",
                              "example": "change"
                            },
                            "reasonCode": {
                              "type": "string",
                              "description": "Reason code",
                              "example": "MS-AADEENR"
                            },
                            "product": {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "description": "Product ID",
                                  "example": "31518166480507289"
                                },
                                "characteristics": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "name": {
                                        "type": "string",
                                        "description": "Characteristic name",
                                        "example": "Status"
                                      },
                                      "value": {
                                        "type": "string",
                                        "description": "Characteristic value",
                                        "example": "OptOut"
                                      }
                                    }
                                  }
                                }
                              }
                            },
                            "subscriberList": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "subscriberNumber": {
                                    "type": "string",
                                    "example": "53414134123"
                                  },
                                  "requestedDate": {
                                    "type": "string",
                                    "format": "date-time",
                                    "example": "2025-04-10T00:00:00.000Z"
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                ]
              },
              "examples": {
                "Broadband_Product_Purchase": {
                  "value": {
                    "accountNumber": "298083011948",
                    "productType": "BROADBAND",
                    "mode": "ProductPurchase",
                    "intent": "EWCS Booster",
                    "cartId": "97da50d0-aa9c-11ec-818f-01c49e663c0c",
                    "productOrderItemId": [
                      "83f0072a-d578-46a1-ba23-59accea41f0a"
                    ],
                    "browserId": "OL_AE_20210914",
                    "productOptions": {
                      "termsAndConditions": [
                        {
                          "type": "ECONSENT",
                          "version": "v5"
                        },
                        {
                          "type": "MRC_GEN",
                          "version": "v1"
                        }
                      ]
                    }
                  }
                },
                "Wireless_Change_AddOn": {
                  "value": {
                    "accountNumber": "298083011948",
                    "productType": "WIRELESS",
                    "mode": "changeAddOn",
                    "ratingType": "postpaid",
                    "cartId": "97da50d0-aa9c-11ec-818f-01c49e663c0c",
                    "browserId": "OL_AE_20210914"
                  }
                },
                "BSSEWireless_Change_AddOn": {
                  "value": {
                    "accountNumber": "552321458441",
                    "productType": "BSSEWIRELESS",
                    "mode": "changeAddOn",
                    "ratingType": "postpaid",
                    "cartId": "97da50d0-aa9c-11ec-818f-01c49e663c0c",
                    "browserId": "OL_AE_20210914",
                    "productOptions": {
                      "termsAndConditions": [
                        {
                          "type": "ECONSENT",
                          "version": "v5"
                        }
                      ]
                    }
                  }
                },
                "Wireless_Change_Rate_Plan": {
                  "value": {
                    "accountNumber": "298083011948",
                    "productType": "WIRELESS",
                    "mode": "changeRatePlan",
                    "ratingType": "postpaid",
                    "cartId": "97da50d0-aa9c-11ec-818f-01c49e663c0c",
                    "browserId": "OL_AE_20210914"
                  }
                },
                "BSSEWireless_Change_AddOn_ActiveArmor_DeEnrollment": {
                  "value": {
                    "accountNumber": "298083011948",
                    "productType": "BSSEWIRELESS",
                    "mode": "changeAddOn",
                    "ratingType": "postpaid",
                    "browserId": "OL_AE_20210914",
                    "addOnInfo": [
                      {
                        "action": "change",
                        "reasonCode": "MS-AADEENR",
                        "product": {
                          "id": "31518166480507289",
                          "characteristics": [
                            {
                              "name": "Status",
                              "value": "OptOut"
                            }
                          ]
                        },
                        "subscriberList": [
                          {
                            "subscriberNumber": "53414134123",
                            "requestedDate": "2025-04-10T00:00:00.000Z"
                          }
                        ]
                      }
                    ]
                  }
                },
                "Wireless_Change_Promo": {
                  "value": {
                    "accountNumber": "298083011948",
                    "productType": "WIRELESS",
                    "mode": "changePromo",
                    "intent": "addPromo",
                    "cartId": "97da50d0-aa9c-11ec-818f-01c49e663c0c",
                    "productOrderItemId": [
                      "83f0072a-d578-46a1-ba23-59accea41f0a"
                    ],
                    "browserId": "OL_AE_20210914",
                    "productOptions": {
                      "termsAndConditions": [
                        {
                          "type": "ECONSENT",
                          "version": "v5"
                        },
                        {
                          "type": "MRC_GEN",
                          "version": "v1"
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "content": {
                      "type": "object",
                      "properties": {
                        "status": {
                          "type": "string",
                          "description": "status",
                          "example": "SUCCESS"
                        },
                        "orderId": {
                          "type": "string",
                          "description": "Order id",
                          "example": "24-168702778167366"
                        }
                      }
                    }
                  }
                },
                "examples": {
                  "Success": {
                    "value": {
                      "content": {
                        "status": "SUCCESS",
                        "orderId": "24-168702778167366"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "description": "Returned for error scenarios.",
                      "type": "string",
                      "example": "Internal Server Error"
                    },
                    "message": {
                      "type": "string",
                      "example": "An unexpected error occurred"
                    },
                    "code": {
                      "type": "integer",
                      "example": 500
                    }
                  }
                },
                "examples": {
                  "Invalid Account Number": {
                    "summary": "MS_MSO_INVALID_ACCT_NUMBER",
                    "value": {
                      "error": "MS_MSO_INVALID_ACCT_NUMBER",
                      "message": "Incorrect account number present in request or request headers. Please verify the request",
                      "code": 400
                    }
                  },
                  "Invalid Product Type": {
                    "summary": "MS_MSO_INVALID_PRODUCT_TYPE",
                    "value": {
                      "error": "MS_MSO_INVALID_PRODUCT_TYPE",
                      "message": "Product Type is empty or incorrect in the request. Please pass valid Product Type",
                      "code": 400
                    }
                  },
                  "UNAUTHORIZED": {
                    "summary": "UNAUTHORIZED",
                    "value": {
                      "error": "UNAUTHORIZED",
                      "message": "ClientID not allowed to access this API. Please reach out to scrum team for access",
                      "code": 403
                    }
                  },
                  "MSO_RSN_001": {
                    "summary": "MSO_RSN_001",
                    "value": {
                      "error": "MSO_RSN_001",
                      "message": "Account Number is not Active",
                      "code": 400
                    }
                  },
                  "POM_RSN_001": {
                    "summary": "POM_RSN_001",
                    "value": {
                      "error": "POM_RSN_001",
                      "message": "Broadband Plan is not Active",
                      "code": 400
                    }
                  },
                  "MSO_RSN_003": {
                    "summary": "MSO_RSN_003",
                    "value": {
                      "error": "MSO_RSN_003",
                      "message": "Pending orders present.",
                      "code": 400
                    }
                  },
                  "MSO_RSN_004": {
                    "summary": "MSO_RSN_004",
                    "value": {
                      "error": "MSO_RSN_004",
                      "message": "No Available AddOns",
                      "code": 400
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Service URI Not Found"
          },
          "417": {
            "description": "Expectation failed",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "description": "Returned for error scenarios.",
                      "type": "string",
                      "example": "Internal Server Error"
                    },
                    "message": {
                      "type": "string",
                      "example": "An unexpected error occurred"
                    },
                    "code": {
                      "type": "integer",
                      "example": 500
                    }
                  }
                },
                "examples": {
                  "Expectation Failed": {
                    "summary": "BackEnd API Failure",
                    "value": {
                      "error": "MS_POMMS_CG_CUSTOMER_API_BACKEND_ERROR",
                      "message": "BackEnd API Failure caused by any exceptions or API failures",
                      "code": 417
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "description": "Returned for error scenarios.",
                      "type": "string",
                      "example": "Internal Server Error"
                    },
                    "message": {
                      "type": "string",
                      "example": "An unexpected error occurred"
                    },
                    "code": {
                      "type": "integer",
                      "example": 500
                    }
                  }
                },
                "examples": {
                  "databaseError": {
                    "summary": "Database connection failure",
                    "value": {
                      "error": "Database Error",
                      "message": "Failed to connect to the database",
                      "code": 500
                    }
                  },
                  "nullPointer": {
                    "summary": "Null pointer exception",
                    "value": {
                      "error": "NullPointerException",
                      "message": "Item Object was null",
                      "code": 500
                    }
                  },
                  "unknownServerError": {
                    "summary": "Generic server failure",
                    "value": {
                      "error": "Internal Server Error",
                      "message": "Something went wrong on the server",
                      "code": 500
                    }
                  },
                  "serviceUnavailable": {
                    "summary": "Dependent service is down",
                    "value": {
                      "error": "Service Unavailable",
                      "message": "Service is currently unavailable",
                      "code": 500
                    }
                  },
                  "timeoutError": {
                    "summary": "Update operation timed out",
                    "value": {
                      "error": "Timeout",
                      "message": "Operation took long time and timed out",
                      "code": 500
                    }
                  },
                  "unexpectedException": {
                    "summary": "Unhandled exception",
                    "value": {
                      "error": "Unexpected Exception",
                      "message": "An unhandled exception occurred while processing the request",
                      "code": 500
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v3/product/availability": {
      "post": {
        "tags": [
          "ProductAvailabilityV3"
        ],
        "summary": "Availability | Retrieve Available Products",
        "description": "This API is designed to fetch the available add-ons associated with the specified account.",
        "operationId": "ProductAvailabilityV3",
        "parameters": [
          {
            "$ref": "#/components/parameters/Content-Type"
          },
          {
            "$ref": "#/components/parameters/authorization"
          },
          {
            "$ref": "#/components/parameters/idp-trace-id"
          },
          {
            "$ref": "#/components/parameters/idpctx-session-id"
          },
          {
            "$ref": "#/components/parameters/idpctx-callcontext"
          },
          {
            "$ref": "#/components/parameters/idpctx-user-type"
          },
          {
            "$ref": "#/components/parameters/idpctx-customerstate"
          },
          {
            "$ref": "#/components/parameters/x-att-clientid"
          },
          {
            "$ref": "#/components/parameters/idpctx-linkedbsseaccnums"
          },
          {
            "$ref": "#/components/parameters/idp-dealercode"
          },
          {
            "$ref": "#/components/parameters/idp-agentid"
          },
          {
            "$ref": "#/components/parameters/idpctx-appname"
          },
          {
            "$ref": "#/components/parameters/idpctx-uuid"
          },
          {
            "$ref": "#/components/parameters/idpctx-loggedInid"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "type": "object",
                    "required": [
                      "accountNumber",
                      "mode",
                      "productType"
                    ],
                    "properties": {
                      "accountNumber": {
                        "type": "string",
                        "example": "298083005010"
                      },
                      "mode": {
                        "type": "string",
                        "example": "ProductPurchase"
                      },
                      "productType": {
                        "type": "string",
                        "example": "BROADBAND"
                      }
                    }
                  }
                ]
              },
              "examples": {
                "BSSEBroadBand_Product_Purchase": {
                  "value": {
                    "accountNumber": "552826049188",
                    "productType": "BROADBAND",
                    "mode": "ProductPurchase"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "content": {
                      "type": "object",
                      "properties": {
                        "accountDetails": {
                          "type": "object",
                          "properties": {
                            "ban": {
                              "type": "string",
                              "description": "Billing account number",
                              "example": "298083005010"
                            }
                          }
                        },
                        "availableProducts": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "purchaseEligibility": {
                                "type": "boolean",
                                "description": "Product eligibility status",
                                "example": true
                              },
                              "productDetails": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "productCode": {
                                      "type": "string",
                                      "description": "Unique identifier for the product",
                                      "example": "63fd411b-9ba8-484b-bba5-52797f4c26a1"
                                    },
                                    "productType": {
                                      "type": "string",
                                      "description": "Type of product",
                                      "example": "addon"
                                    },
                                    "displayName": {
                                      "type": "string",
                                      "description": "Display name of the product",
                                      "example": "Wifi Coverage"
                                    },
                                    "productPrice": {
                                      "type": "object",
                                      "properties": {
                                        "uom": {
                                          "type": "string",
                                          "description": "Unit of measure for the price",
                                          "example": "month"
                                        },
                                        "productCost": {
                                          "type": "string",
                                          "description": "Recurring charge period for the product",
                                          "example": "10"
                                        }
                                      }
                                    },
                                    "productOriginalPrice": {
                                      "type": "object",
                                      "properties": {
                                        "uom": {
                                          "type": "string",
                                          "description": "Unit of measure for the price",
                                          "example": "month"
                                        },
                                        "productCost": {
                                          "type": "string",
                                          "description": "Recurring charge period for the product",
                                          "example": "10"
                                        }
                                      }
                                    },
                                    "productRelationship": {
                                      "type": "array",
                                      "items": {
                                        "type": "object",
                                        "properties": {
                                          "equipmentInfo": {
                                            "type": "array",
                                            "items": {
                                              "type": "object",
                                              "properties": {
                                                "deviceType": {
                                                  "type": "string",
                                                  "description": "Device Type",
                                                  "example": "BBDevice"
                                                },
                                                "deviceDisplayName": {
                                                  "type": "string",
                                                  "description": "Display Name For Device",
                                                  "example": "TestOnly_All-Fi Fiber Booster"
                                                },
                                                "deviceId": {
                                                  "type": "string",
                                                  "description": "Display id for Device",
                                                  "example": "3be36e21-9fb4-4fe9-aaa8-fb2ebac818dc"
                                                },
                                                "upperLimit": {
                                                  "type": "string",
                                                  "description": "Number of max devices",
                                                  "example": "5"
                                                }
                                              }
                                            }
                                          }
                                        }
                                      }
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                },
                "examples": {
                  "BSSEBroadBand_Product_Purchase": {
                    "value": {
                      "content": {
                        "accountDetails": {
                          "ban": "298083005010"
                        },
                        "availableProducts": [
                          {
                            "purchaseEligibility": true,
                            "productDetails": [
                              {
                                "productCode": "b474f34f-5c2b-4501-99dd-28ef9e60dcff",
                                "productType": "addon",
                                "displayName": "TestOnly_Fiber Wi-Fi Coverage Service",
                                "productPrice": {
                                  "uom": "month",
                                  "productCost": "10.0"
                                },
                                "productOriginalPrice": {
                                  "uom": "month",
                                  "productCost": "10.0"
                                },
                                "productRelationship": [
                                  {
                                    "equipmentInfo": [
                                      {
                                        "deviceType": "BBDevice",
                                        "deviceDisplayName": "TestOnly_All-Fi Fiber Booster ",
                                        "deviceId": "3be36e21-9fb4-4fe9-aaa8-fb2ebac818dc",
                                        "upperLimit": "5"
                                      }
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "description": "Returned for error scenarios.",
                      "type": "string",
                      "example": "Internal Server Error"
                    },
                    "message": {
                      "type": "string",
                      "example": "An unexpected error occurred"
                    },
                    "code": {
                      "type": "integer",
                      "example": 500
                    }
                  }
                },
                "examples": {
                  "Invalid Account Number": {
                    "summary": "MS_MSO_INVALID_ACCT_NUMBER",
                    "value": {
                      "error": "MS_MSO_INVALID_ACCT_NUMBER",
                      "message": "Incorrect account number present in request or request headers. Please verify the request",
                      "code": 400
                    }
                  },
                  "Invalid Product Type": {
                    "summary": "MS_MSO_INVALID_PRODUCT_TYPE",
                    "value": {
                      "error": "MS_MSO_INVALID_PRODUCT_TYPE",
                      "message": "Product Type is empty or incorrect in the request. Please pass valid Product Type",
                      "code": 400
                    }
                  },
                  "UNAUTHORIZED": {
                    "summary": "UNAUTHORIZED",
                    "value": {
                      "error": "UNAUTHORIZED",
                      "message": "ClientID not allowed to access this API. Please reach out to scrum team for access",
                      "code": 403
                    }
                  },
                  "MSO_RSN_001": {
                    "summary": "MSO_RSN_001",
                    "value": {
                      "error": "MSO_RSN_001",
                      "message": "Account Number is not Active",
                      "code": 400
                    }
                  },
                  "POM_RSN_001": {
                    "summary": "POM_RSN_001",
                    "value": {
                      "error": "POM_RSN_001",
                      "message": "Broadband Plan is not Active",
                      "code": 400
                    }
                  },
                  "MSO_RSN_003": {
                    "summary": "MSO_RSN_003",
                    "value": {
                      "error": "MSO_RSN_003",
                      "message": "Pending orders present.",
                      "code": 400
                    }
                  },
                  "MSO_RSN_004": {
                    "summary": "MSO_RSN_004",
                    "value": {
                      "error": "MSO_RSN_004",
                      "message": "No Available AddOns",
                      "code": 400
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Service URI Not Found"
          },
          "417": {
            "description": "Expectation failed",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "description": "Returned for error scenarios.",
                      "type": "string",
                      "example": "Internal Server Error"
                    },
                    "message": {
                      "type": "string",
                      "example": "An unexpected error occurred"
                    },
                    "code": {
                      "type": "integer",
                      "example": 500
                    }
                  }
                },
                "examples": {
                  "Expectation Failed": {
                    "summary": "BackEnd API Failure",
                    "value": {
                      "error": "MS_POMMS_CG_CUSTOMER_API_BACKEND_ERROR",
                      "message": "BackEnd API Failure caused by any exceptions or API failures",
                      "code": 417
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "description": "Returned for error scenarios.",
                      "type": "string",
                      "example": "Internal Server Error"
                    },
                    "message": {
                      "type": "string",
                      "example": "An unexpected error occurred"
                    },
                    "code": {
                      "type": "integer",
                      "example": 500
                    }
                  }
                },
                "examples": {
                  "databaseError": {
                    "summary": "Database connection failure",
                    "value": {
                      "error": "Database Error",
                      "message": "Failed to connect to the database",
                      "code": 500
                    }
                  },
                  "nullPointer": {
                    "summary": "Null pointer exception",
                    "value": {
                      "error": "NullPointerException",
                      "message": "Item Object was null",
                      "code": 500
                    }
                  },
                  "unknownServerError": {
                    "summary": "Generic server failure",
                    "value": {
                      "error": "Internal Server Error",
                      "message": "Something went wrong on the server",
                      "code": 500
                    }
                  },
                  "serviceUnavailable": {
                    "summary": "Dependent service is down",
                    "value": {
                      "error": "Service Unavailable",
                      "message": "Service is currently unavailable",
                      "code": 500
                    }
                  },
                  "timeoutError": {
                    "summary": "Update operation timed out",
                    "value": {
                      "error": "Timeout",
                      "message": "Operation took long tsubmitime and timed out",
                      "code": 500
                    }
                  },
                  "unexpectedException": {
                    "summary": "Unhandled exception",
                    "value": {
                      "error": "Unexpected Exception",
                      "message": "An unhandled exception occurred while processing the request",
                      "code": 500
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v3/product/review": {
      "post": {
        "tags": [
          "ProductReviewV3"
        ],
        "summary": "Review | Returns Product Quotation",
        "description": "This API is utilized to provide product quotations and pricing changes for evaluation.",
        "operationId": "ProductReviewV3",
        "parameters": [
          {
            "$ref": "#/components/parameters/Content-Type"
          },
          {
            "$ref": "#/components/parameters/authorization"
          },
          {
            "$ref": "#/components/parameters/idp-trace-id"
          },
          {
            "$ref": "#/components/parameters/idpctx-session-id"
          },
          {
            "$ref": "#/components/parameters/idpctx-callcontext"
          },
          {
            "$ref": "#/components/parameters/idpctx-user-type"
          },
          {
            "$ref": "#/components/parameters/idpctx-customerstate"
          },
          {
            "$ref": "#/components/parameters/x-att-clientid"
          },
          {
            "$ref": "#/components/parameters/idpctx-linkedbsseaccnums"
          },
          {
            "$ref": "#/components/parameters/idp-dealercode"
          },
          {
            "$ref": "#/components/parameters/idp-agentid"
          },
          {
            "$ref": "#/components/parameters/idp-channel"
          },
          {
            "$ref": "#/components/parameters/idpctx-appname"
          },
          {
            "$ref": "#/components/parameters/idpctx-uuid"
          },
          {
            "$ref": "#/components/parameters/idpctx-loggedInid"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "type": "object",
                    "required": [
                      "accountNumber",
                      "productType",
                      "mode"
                    ],
                    "additionalProperties": false,
                    "properties": {
                      "accountNumber": {
                        "type": "string",
                        "example": "554908851508"
                      },
                      "productType": {
                        "type": "string",
                        "example": "BROADBAND"
                      },
                      "mode": {
                        "type": "string",
                        "example": "ProductPurchase"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": [
                      "accountNumber",
                      "productType",
                      "mode",
                      "deliveryPlace"
                    ],
                    "additionalProperties": false,
                    "properties": {
                      "accountNumber": {
                        "type": "string",
                        "example": "554908851508"
                      },
                      "productType": {
                        "type": "string",
                        "example": "BROADBAND"
                      },
                      "mode": {
                        "type": "string",
                        "example": "ProductPurchase"
                      },
                      "deliveryPlace": {
                        "type": "object",
                        "required": [
                          "id"
                        ],
                        "additionalProperties": false,
                        "properties": {
                          "id": {
                            "type": "string",
                            "example": "00001NXJTR"
                          }
                        }
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": [
                      "accountNumber",
                      "productType",
                      "mode",
                      "deliveryPlace",
                      "cartId",
                      "productOptions"
                    ],
                    "additionalProperties": false,
                    "properties": {
                      "accountNumber": {
                        "type": "string",
                        "example": "554908851508"
                      },
                      "productType": {
                        "type": "string",
                        "example": "BROADBAND"
                      },
                      "mode": {
                        "type": "string",
                        "example": "ProductPurchase"
                      },
                      "deliveryPlace": {
                        "type": "object",
                        "required": [
                          "id"
                        ],
                        "additionalProperties": false,
                        "properties": {
                          "id": {
                            "type": "string",
                            "example": "00001NXJTR"
                          }
                        }
                      },
                      "cartId": {
                        "type": "string",
                        "example": "97da50d0-aa9c-11ec-818f-01c49e663c0c"
                      },
                      "productOptions": {
                        "type": "object",
                        "required": [
                          "fulfillmentId"
                        ],
                        "additionalProperties": false,
                        "properties": {
                          "fulfillmentId": {
                            "type": "string",
                            "example": "c501a63e-97bc-4663-9327-fe2253f3e4b8"
                          }
                        }
                      }
                    }
                  }
                ]
              },
              "examples": {
                "BSSEBroadband_ProductPurchase_GetReview": {
                  "value": {
                    "accountNumber": "554908851508",
                    "productType": "BROADBAND",
                    "mode": "ProductPurchase"
                  }
                },
                "BSSEBroadband_ProductPurchase_GetReview_AutomaticFulfillment": {
                  "value": {
                    "accountNumber": "554908851508",
                    "productType": "BROADBAND",
                    "mode": "ProductPurchase",
                    "deliveryPlace": {
                      "id": "00001NXJTR"
                    }
                  }
                },
                "BSSEBroadband_ProductPurchase_UpdateReview": {
                  "value": {
                    "accountNumber": "554908851508",
                    "productType": "BROADBAND",
                    "mode": "ProductPurchase",
                    "deliveryPlace": {
                      "id": "00001NXJTR"
                    },
                    "cartId": "97da50d0-aa9c-11ec-818f-01c49e663c0c",
                    "productOptions": {
                      "fulfillmentId": "c501a63e-97bc-4663-9327-fe2253f3e4b8"
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "content": {
                      "type": "object",
                      "properties": {
                        "accountDetails": {
                          "type": "object",
                          "properties": {
                            "ban": {
                              "type": "string",
                              "description": "Requested account information",
                              "example": "554908851508"
                            }
                          }
                        },
                        "cartId": {
                          "type": "string",
                          "description": "Cart Identifier",
                          "example": "97da50d0-aa9c-11ec-818f-01c49e663c0c"
                        },
                        "checkoutValidation": {
                          "type": "object",
                          "properties": {
                            "configuration": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "status": {
                                    "type": "string",
                                    "description": "Indicator confirming if that configuration is pending. Values: - complete, incomplete",
                                    "example": "complete"
                                  },
                                  "type": {
                                    "type": "string",
                                    "description": "Configuration/Validation Type. Values:- FulfillmentOptions, CreditInfo, Term",
                                    "example": "FulfillmentOptions"
                                  }
                                }
                              }
                            }
                          }
                        },
                        "orderTotalPrice": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "type": {
                                "type": "string",
                                "description": "Applicable charges will be returned based on Cart response",
                                "example": "proratedCharges",
                                "enum": [
                                  "proratedCharges",
                                  "recurringCharges",
                                  "oneTimeCharges",
                                  "taxes",
                                  "govtFeesBreakup"
                                ]
                              },
                              "charges": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "description": "Product Price",
                                  "properties": {
                                    "uom": {
                                      "type": "string",
                                      "description": "unit of measurement. sample values - \\n month \\n OC (one time charge) \\n OTR (One time reward) \\n week",
                                      "example": "month"
                                    },
                                    "base": {
                                      "type": "number",
                                      "format": "double",
                                      "description": "Product Cost (Excluding taxes product price)",
                                      "example": 55
                                    },
                                    "total": {
                                      "type": "number",
                                      "format": "double",
                                      "description": "Total Product Cost (It will be same as base incase where there are no taxes.)",
                                      "example": 58
                                    },
                                    "tax": {
                                      "type": "number",
                                      "format": "double",
                                      "description": "Total tax on the product",
                                      "example": 3
                                    },
                                    "payImmediately": {
                                      "type": "boolean",
                                      "description": "Pay immediately can be true/false",
                                      "example": false
                                    },
                                    "taxIncluded": {
                                      "type": "string",
                                      "description": "tax price will not be returned if its Excluded.Possible values are - Excluded/Included",
                                      "example": "Included"
                                    }
                                  }
                                }
                              }
                            }
                          }
                        },
                        "productDetails": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "productOrderItemId": {
                                "type": "string",
                                "description": "Order Identifier",
                                "example": "83f0072a-d578-46a1-ba23-59accea41f0a"
                              },
                              "id": {
                                "type": "string",
                                "description": "Product Code",
                                "example": "prod11270288"
                              },
                              "productType": {
                                "type": "string",
                                "description": "Product Type",
                                "example": "Coverage"
                              },
                              "productDescription": {
                                "type": "string",
                                "description": "Product Description",
                                "example": "Extended Wifi Coverage"
                              },
                              "productPriceRelationship": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string",
                                      "description": "Applicable proratedCharges/recurringCharges will be returned if we get back from Cart",
                                      "example": "proratedCharges",
                                      "enum": [
                                        "proratedCharges",
                                        "originalProratedCharges",
                                        "monthlyCharges",
                                        "originalMonthlyCharges",
                                        "marketingMonthlyCharges"
                                      ]
                                    },
                                    "charges": {
                                      "type": "array",
                                      "description": "Applicable charges will be returned based on Cart response",
                                      "items": {
                                        "type": "object",
                                        "description": "Product Price",
                                        "properties": {
                                          "uom": {
                                            "type": "string",
                                            "description": "unit of measurement. sample values - \\n month \\n OC (one time charge) \\n OTR (One time reward) \\n week",
                                            "example": "month"
                                          },
                                          "base": {
                                            "type": "number",
                                            "format": "double",
                                            "description": "Product Cost (Excluding taxes product price)",
                                            "example": 55
                                          },
                                          "total": {
                                            "type": "number",
                                            "format": "double",
                                            "description": "Total Product Cost (It will be same as base incase where there are no taxes.)",
                                            "example": 58
                                          },
                                          "tax": {
                                            "type": "number",
                                            "format": "double",
                                            "description": "Total tax on the product",
                                            "example": 3
                                          },
                                          "payImmediately": {
                                            "type": "boolean",
                                            "description": "Pay immediately can be true/false",
                                            "example": false
                                          },
                                          "taxIncluded": {
                                            "type": "string",
                                            "description": "tax price will not be returned if its Excluded.Possible values are - Excluded/Included",
                                            "example": "Included"
                                          }
                                        }
                                      }
                                    }
                                  }
                                }
                              },
                              "productRelationship": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string",
                                      "description": "type of relationship to parent product. Sample : equipment",
                                      "example": "equipment"
                                    },
                                    "equipmentInfo": {
                                      "type": "array",
                                      "items": {
                                        "type": "object",
                                        "properties": {
                                          "id": {
                                            "type": "string",
                                            "description": "Device ID",
                                            "example": "65838021382177962"
                                          },
                                          "type": {
                                            "type": "string",
                                            "description": "deviceType",
                                            "example": "BBDevice"
                                          },
                                          "name": {
                                            "type": "string",
                                            "description": "displayName",
                                            "example": "BB AirTies 4981"
                                          }
                                        }
                                      }
                                    }
                                  }
                                }
                              },
                              "productOrderRelationship": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "description": "type of order relationship to parent product",
                                      "example": "fulfillmentOptions",
                                      "enum": [
                                        "fulfillmentOptions",
                                        "termsAndConditions",
                                        "disclosure"
                                      ]
                                    },
                                    "fulfillmentOptions": {
                                      "type": "array",
                                      "items": {
                                        "type": "object",
                                        "properties": {
                                          "id": {
                                            "type": "string",
                                            "description": "Fulfillment ID",
                                            "example": "c501a63e-97bc-4663-9327-fe2253f3e4b8"
                                          },
                                          "shipmentDates": {
                                            "type": "object",
                                            "properties": {
                                              "from": {
                                                "type": "string",
                                                "description": "shipmentDates from",
                                                "example": "2022-03-28"
                                              },
                                              "to": {
                                                "type": "string",
                                                "description": "shipmentDates to",
                                                "example": "2022-03-30"
                                              }
                                            }
                                          },
                                          "deliveryDates": {
                                            "type": "object",
                                            "properties": {
                                              "from": {
                                                "type": "string",
                                                "description": "Delivery Date",
                                                "example": "2022-03-29"
                                              },
                                              "to": {
                                                "type": "string",
                                                "description": "Delivery Date",
                                                "example": "2022-03-31"
                                              }
                                            }
                                          },
                                          "deliveryMethod": {
                                            "type": "string",
                                            "description": "Delivery Method",
                                            "example": "Standard Shipping 2 Days"
                                          },
                                          "deliverycharges": {
                                            "type": "object",
                                            "properties": {
                                              "base": {
                                                "type": "number",
                                                "format": "double",
                                                "description": "base",
                                                "example": 2
                                              },
                                              "total": {
                                                "type": "number",
                                                "format": "double",
                                                "description": "total",
                                                "example": 2
                                              },
                                              "uom": {
                                                "type": "string",
                                                "description": "uom",
                                                "example": "OC"
                                              }
                                            }
                                          }
                                        }
                                      }
                                    },
                                    "termsAndConditions": {
                                      "type": "array",
                                      "items": {
                                        "type": "object",
                                        "properties": {
                                          "type": {
                                            "type": "string",
                                            "description": "T&C type",
                                            "example": "ECONSENT"
                                          },
                                          "version": {
                                            "type": "string",
                                            "description": "T&C version",
                                            "example": "v5"
                                          },
                                          "title": {
                                            "type": "string",
                                            "description": "T&C title",
                                            "example": "Consent to Electronic Delivery of Disclosures"
                                          },
                                          "text": {
                                            "type": "string",
                                            "description": "T&C text",
                                            "example": "I have read and agree to the Consent to Electronic Delivery of Disclosures and Communications"
                                          },
                                          "url": {
                                            "type": "string",
                                            "description": "T&C URL",
                                            "example": "idpassets/archive-legal/fragment/legal/prod/lpc/terms/electronicCommunicationsConsent/v5/electronicCommunicationsConsent.cmsfeed.js"
                                          },
                                          "readAloudText": {
                                            "type": "string",
                                            "description": "T&C Read Aloud",
                                            "example": "Let's review your credit. Don't worry, we'll do a soft credit inquiry which means it won't hurt your credit score.<br/> - We'll use your info only to qualify you for service with us.<br/>- Based on your credit, we may ask for a pre-payment today"
                                          }
                                        }
                                      }
                                    }
                                  }
                                }
                              },
                              "productOfferingRelationship": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "type": {
                                      "type": "string",
                                      "description": "discounts/promotions offered",
                                      "example": "discount"
                                    },
                                    "discountInfo": {
                                      "type": "array",
                                      "items": {
                                        "type": "object",
                                        "properties": {
                                          "id": {
                                            "type": "string",
                                            "description": "Discount/Promotion ID",
                                            "example": "07cedf7a-9ddc-4b37-8038-a298f8b52e0e"
                                          },
                                          "name": {
                                            "type": "string",
                                            "description": "Discount Name",
                                            "example": "$5 off with AutoPay and Paperless Bill"
                                          },
                                          "description": {
                                            "type": "string",
                                            "description": "Discount Description",
                                            "example": "$5 off with AutoPay and Paperless Bill"
                                          },
                                          "applyPolicy": {
                                            "type": "string",
                                            "description": "automatic/Manual promotion",
                                            "example": "automatic"
                                          },
                                          "base": {
                                            "type": "number",
                                            "format": "double",
                                            "description": "base",
                                            "example": 3
                                          },
                                          "total": {
                                            "type": "number",
                                            "format": "double",
                                            "description": "total",
                                            "example": 3
                                          },
                                          "uom": {
                                            "type": "string",
                                            "description": "uom",
                                            "example": "month"
                                          },
                                          "characteristics": {
                                            "type": "object",
                                            "properties": {
                                              "isPromoRolledUp": {
                                                "type": "boolean",
                                                "description": "promo rolledup indicator",
                                                "example": true
                                              },
                                              "longDescription": {
                                                "type": "string",
                                                "description": "Long Description of Discount",
                                                "example": "Long Desc 1"
                                              }
                                            }
                                          }
                                        }
                                      }
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                },
                "examples": {
                  "BSSEBroadband_ProductPurchase": {
                    "value": {
                      "content": {
                        "accountDetails": {
                          "ban": "554908851508"
                        },
                        "cartId": "97da50d0-aa9c-11ec-818f-01c49e663c0c",
                        "checkoutValidation": {
                          "configuration": [
                            {
                              "status": "complete",
                              "type": "FulfillmentOptions"
                            }
                          ]
                        },
                        "orderTotalPrice": [
                          {
                            "type": "proratedCharges",
                            "charges": [
                              {
                                "uom": "month",
                                "base": 55,
                                "total": 58,
                                "tax": 3,
                                "payImmediately": false,
                                "taxIncluded": "Included"
                              }
                            ]
                          }
                        ],
                        "productDetails": [
                          {
                            "productOrderItemId": "83f0072a-d578-46a1-ba23-59accea41f0a",
                            "id": "prod11270288",
                            "productType": "Coverage",
                            "productDescription": "Extended Wifi Coverage",
                            "productPriceRelationship": [
                              {
                                "type": "proratedCharges",
                                "charges": [
                                  {
                                    "uom": "month",
                                    "base": 55,
                                    "total": 58,
                                    "tax": 3,
                                    "payImmediately": false,
                                    "taxIncluded": "Included"
                                  }
                                ]
                              }
                            ],
                            "productRelationship": [
                              {
                                "type": "equipment",
                                "equipmentInfo": [
                                  {
                                    "id": "65838021382177962",
                                    "type": "BBDevice",
                                    "name": "BB AirTies 4981"
                                  }
                                ]
                              }
                            ],
                            "productOrderRelationship": [
                              {
                                "type": "fulfillmentOptions",
                                "fulfillmentOptions": [
                                  {
                                    "id": "c501a63e-97bc-4663-9327-fe2253f3e4b8",
                                    "shipmentDates": {
                                      "from": "2022-03-28",
                                      "to": "2022-03-30"
                                    },
                                    "deliveryDates": {
                                      "from": "2022-03-29",
                                      "to": "2022-03-31"
                                    },
                                    "deliveryMethod": "Standard Shipping 2 Days",
                                    "deliverycharges": {
                                      "base": 2,
                                      "total": 2,
                                      "uom": "OC"
                                    }
                                  }
                                ],
                                "termsAndConditions": [
                                  {
                                    "type": "ECONSENT",
                                    "version": "v5",
                                    "title": "Consent to Electronic Delivery of Disclosures",
                                    "text": "I have read and agree to the Consent to Electronic Delivery of Disclosures and Communications",
                                    "url": "idpassets/archive-legal/fragment/legal/prod/lpc/terms/electronicCommunicationsConsent/v5/electronicCommunicationsConsent.cmsfeed.js",
                                    "readAloudText": "Let's review your credit. Don't worry, we'll do a soft credit inquiry which means it won't hurt your credit score.<br/> - We'll use your info only to qualify you for service with us.<br/>- Based on your credit, we may ask for a pre-payment today"
                                  }
                                ]
                              }
                            ],
                            "productOfferingRelationship": [
                              {
                                "type": "discount",
                                "discountInfo": [
                                  {
                                    "id": "07cedf7a-9ddc-4b37-8038-a298f8b52e0e",
                                    "name": "$5 off with AutoPay and Paperless Bill",
                                    "description": "$5 off with AutoPay and Paperless Bill",
                                    "applyPolicy": "automatic",
                                    "base": 3,
                                    "total": 3,
                                    "uom": "month",
                                    "characteristics": {
                                      "isPromoRolledUp": true,
                                      "longDescription": "Long Desc 1"
                                    }
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "description": "Returned for error scenarios.",
                      "type": "string",
                      "example": "Internal Server Error"
                    },
                    "message": {
                      "type": "string",
                      "example": "An unexpected error occurred"
                    },
                    "code": {
                      "type": "integer",
                      "example": 500
                    }
                  }
                },
                "examples": {
                  "Invalid Account Number": {
                    "summary": "MS_MSO_INVALID_ACCT_NUMBER",
                    "value": {
                      "error": "MS_MSO_INVALID_ACCT_NUMBER",
                      "message": "Incorrect account number present in request or request headers. Please verify the request",
                      "code": 400
                    }
                  },
                  "Invalid Product Type": {
                    "summary": "MS_MSO_INVALID_PRODUCT_TYPE",
                    "value": {
                      "error": "MS_MSO_INVALID_PRODUCT_TYPE",
                      "message": "Product Type is empty or incorrect in the request. Please pass valid Product Type",
                      "code": 400
                    }
                  },
                  "MSO_RSN_001": {
                    "summary": "MSO_RSN_001",
                    "value": {
                      "error": "MSO_RSN_001",
                      "message": "Account Number is not Active",
                      "code": 400
                    }
                  },
                  "MS_POMMS_PRODUCTREVIEW_UPDATE_REVIEW_REQ_FAILED": {
                    "summary": "MS_POMMS_PRODUCTREVIEW_UPDATE_REVIEW_REQ_FAILED",
                    "value": {
                      "error": "MS_POMMS_PRODUCTREVIEW_UPDATE_REVIEW_REQ_FAILED",
                      "message": "Product Update Review Method Request Validation Failed",
                      "code": 400
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "description": "Returned for error scenarios.",
                      "type": "string",
                      "example": "Internal Server Error"
                    },
                    "message": {
                      "type": "string",
                      "example": "An unexpected error occurred"
                    },
                    "code": {
                      "type": "integer",
                      "example": 500
                    }
                  }
                },
                "examples": {
                  "UNAUTHORIZED": {
                    "summary": "UNAUTHORIZED",
                    "value": {
                      "error": "UNAUTHORIZED",
                      "message": "ClientID not allowed to access this API. Please reach out to scrum team for access",
                      "code": 403
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Service URI Not Found"
          },
          "417": {
            "description": "Expectation failed",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "description": "Returned for error scenarios.",
                      "type": "string",
                      "example": "Internal Server Error"
                    },
                    "message": {
                      "type": "string",
                      "example": "An unexpected error occurred"
                    },
                    "code": {
                      "type": "integer",
                      "example": 500
                    }
                  }
                },
                "examples": {
                  "Expectation Failed": {
                    "summary": "BackEnd API Failure",
                    "value": {
                      "error": "MS_POMMS_CG_CUSTOMER_API_BACKEND_ERROR",
                      "message": "BackEnd API Failure caused by any exceptions or API failures",
                      "code": 417
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "description": "Returned for error scenarios.",
                      "type": "string",
                      "example": "Internal Server Error"
                    },
                    "message": {
                      "type": "string",
                      "example": "An unexpected error occurred"
                    },
                    "code": {
                      "type": "integer",
                      "example": 500
                    }
                  }
                },
                "examples": {
                  "databaseError": {
                    "summary": "Database connection failure",
                    "value": {
                      "error": "Database Error",
                      "message": "Failed to connect to the database",
                      "code": 500
                    }
                  },
                  "nullPointer": {
                    "summary": "Null pointer exception",
                    "value": {
                      "error": "NullPointerException",
                      "message": "Item Object was null",
                      "code": 500
                    }
                  },
                  "unknownServerError": {
                    "summary": "Generic server failure",
                    "value": {
                      "error": "Internal Server Error",
                      "message": "Something went wrong on the server",
                      "code": 500
                    }
                  },
                  "serviceUnavailable": {
                    "summary": "Dependent service is down",
                    "value": {
                      "error": "Service Unavailable",
                      "message": "Service is currently unavailable",
                      "code": 500
                    }
                  },
                  "timeoutError": {
                    "summary": "Update operation timed out",
                    "value": {
                      "error": "Timeout",
                      "message": "Operation took long time and timed out",
                      "code": 500
                    }
                  },
                  "unexpectedException": {
                    "summary": "Unhandled exception",
                    "value": {
                      "error": "Unexpected Exception",
                      "message": "An unhandled exception occurred while processing the request",
                      "code": 500
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}