{
  "info": {
    "title": "Inquire Port Eligibility by Subscriber Number",
    "version": "4.0.0",
    "description": "Allows MVNOs to check whether a given MSISDN (subscriber number) is eligible\nto be ported into the AT&T network.\n\nThe full TMF761 API specification defines two main operations: checkResourceQualification and queryResourceQualification.\nCheckResourceQualification checks the eligibility of a given resource given some criteria, while queryResourceQualification\nreturns a list of resources that meet some criteria.  The tmf761-resourceQualification-msisdn implementation has\nthe following limitations compared to the full TMF761 spec:\n- implements only checkResourceQualification POST operation -- no GET/PATCH/PUT/DELETE -- and only supports checking a single resource at a time.\n- only supports synchronous mode of operation where the POST immediately returns the result of the qualification check.\n- does not support queryResourceQualification operation"
  },
  "paths": {
    "/healthz": {
      "get": {
        "summary": "healthCheck",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "message": "Application up and running",
                  "application_name": "tmf761-resourceQualification-msisdn"
                }
              }
            },
            "description": "Success"
          }
        },
        "x-page-slug": "healthCheck-endpoint",
        "description": "Health Check"
      }
    },
    "/checkResourceQualification": {
      "post": {
        "summary": "InquirePortEligibility",
        "responses": {
          "200": {
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/lib_CheckResourceQualification"
                },
                "example": {
                  "id": " ",
                  "href": "",
                  "@ytpe": "CheckMSISDNPortEligibilityQualification",
                  "qualificationResult": "qualified",
                  "serviceQualificationItem": [
                    {
                      "@ytpe": "MSISDNPortEligibilityQualificationItem",
                      "@baseType": "MSISDNPortEligibilityQualificationItem",
                      "marketServiceInfo": {
                        "billingMarket": "AA",
                        "billingSubMarket": "AAA"
                      },
                      "subscriberNumber": "1234567890",
                      "eligibilityFlag": "String",
                      "oldServiceProvider": {
                        "localId": "aaaa",
                        "networkId": "aaaa"
                      },
                      "newServiceProvider": {
                        "localId": "aaaa",
                        "networkId": "aaaa"
                      },
                      "serviceArea": "006901001589",
                      "resource": {
                        "@type": "MSISDN",
                        "href": "",
                        "id": "1234567890"
                      }
                    }
                  ]
                }
              }
            },
            "description": "Success -- the result of the eligibility check will be found in the\nqualificationResult element of the response: \"qualified\" or \"unqualified\"\n"
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "code": "400",
                  "reason": "Required header 'X-ATT-ConversationId' not specified",
                  "status": "400-BAD_REQUEST-TMF761",
                  "message": "Required header 'X-ATT-ConversationId' not specified"
                }
              },
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/lib_Error"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "example": {
                  "code": "401",
                  "reason": "Unauthorized",
                  "status": "401-UNAUTHORIZED-TMF761",
                  "message": "Unauthorized"
                }
              },
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/lib_Error"
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "code": "403",
                  "reason": "Forbidden",
                  "status": "403-FORBIDDEN-TMF761",
                  "message": "Forbidden"
                }
              },
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/lib_Error"
                }
              }
            },
            "description": "Forbidden"
          },
          "405": {
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/lib_Error"
                }
              }
            },
            "description": "Method Not allowed"
          },
          "406": {
            "$ref": "#/components/responses/trait_error-responses_406"
          },
          "409": {
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/lib_Error"
                }
              }
            },
            "description": "Conflict"
          },
          "415": {
            "$ref": "#/components/responses/trait_error-responses_415"
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "code": "500",
                  "reason": "Internal Server Error",
                  "status": "500-INTERNAL SERVER_ERROR-TMF761",
                  "message": "Internal Server Error"
                }
              },
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/lib_Error"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "503": {
            "$ref": "#/components/responses/trait_jwt_503"
          }
        },
        "parameters": [
          {
            "name": "@type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "CheckMSISDNPortEligibilityQualification"
              ]
            }
          },
          {
            "$ref": "#/components/parameters/trait_jwt_Authorization"
          },
          {
            "$ref": "#/components/parameters/trait_headers_Content-Length"
          },
          {
            "$ref": "#/components/parameters/trait_headers_Accept"
          },
          {
            "$ref": "#/components/parameters/trait_headers_X-ATT-ConversationId"
          },
          {
            "$ref": "#/components/parameters/trait_headers_X-ATT-CorrelationId"
          },
          {
            "$ref": "#/components/parameters/trait_headers_X-ATT-ClientId"
          }
        ],
        "x-page-slug": "inquire-port-eligibility",
        "description": "Checks whether a given MSISDN (subscriberNumber) is eligible for porting into\nthe AT&T network. (TMF 761)",
        "operationId": "createCheckResourceQualification",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/lib_CheckResourceQualification_Create"
                  },
                  {
                    "description": "The CheckResourceQualification to be created. For MSISDN port eligibility\ncheck, the only required fields are @type, which must have a value of\n\"CheckMSISDNPortEligibilityQualification\", and serviceQualificationItems, which should\nbe a one-element array of type MSISDNPortEligibilityQualificationItem.\nAll other fields are ignored, including ones from the base\nCheckResourceQualification_Create type.\n"
                  }
                ]
              },
              "example": {
                "@type": "CheckMSISDNPortEligibilityQualification",
                "serviceQualificationItem": [
                  {
                    "@type": "MSISDNPortEligibilityQualificationItem",
                    "marketServiceInfo": {
                      "billingMarket": "AA",
                      "billingSubMarket": "AAA"
                    },
                    "resource": {
                      "@type": "MSISDN",
                      "href": "",
                      "id": "1234567890"
                    }
                  }
                ]
              }
            }
          },
          "required": true
        }
      }
    }
  },
  "openapi": "3.0.3",
  "components": {
    "links": {},
    "schemas": {
      "lib_Note": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "title": "id",
            "example": "afa9-3d90aaa8da0f",
            "description": "Identifier of the note within its containing entity"
          },
          "date": {
            "type": "string",
            "title": "date",
            "format": "date-time",
            "description": "Date of the note"
          },
          "text": {
            "type": "string",
            "title": "text",
            "example": "This is important",
            "description": "Text of the note"
          },
          "@type": {
            "type": "string",
            "title": "@type",
            "description": "When sub-classing, this defines the sub-class Extensible name"
          },
          "author": {
            "type": "string",
            "title": "author",
            "example": "Mr. N. Bene",
            "description": "Author of the note"
          },
          "@baseType": {
            "type": "string",
            "title": "@baseType",
            "description": "When sub-classing, this defines the super-class"
          },
          "@schemaLocation": {
            "type": "string",
            "title": "@schemaLocation",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          }
        }
      },
      "lib_Error": {
        "type": "object",
        "required": [
          "code",
          "reason"
        ],
        "properties": {
          "code": {
            "type": "string",
            "title": "code",
            "description": "Application relevant detail, defined in the API or a common list."
          },
          "@type": {
            "type": "string",
            "title": "@type",
            "description": "When sub-classing, this defines the sub-class entity name."
          },
          "reason": {
            "type": "string",
            "title": "reason",
            "description": "Explanation of the reason for the error which can be shown to a client user."
          },
          "status": {
            "type": "string",
            "title": "status",
            "description": "HTTP Error code extension"
          },
          "message": {
            "type": "string",
            "title": "message",
            "description": "More details and corrective actions related to the error which can be shown to a client user."
          },
          "@baseType": {
            "type": "string",
            "title": "@baseType",
            "description": "When sub-classing, this defines the super-class."
          },
          "referenceError": {
            "type": "string",
            "title": "referenceError",
            "description": "URI of documentation describing the error."
          },
          "@schemaLocation": {
            "type": "string",
            "title": "@schemaLocation",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          }
        }
      },
      "lib_Place": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "title": "id",
            "description": "Unique identifier of the place"
          },
          "href": {
            "type": "string",
            "title": "href",
            "description": "Unique reference of the place"
          },
          "name": {
            "type": "string",
            "title": "name",
            "description": "A user-friendly name for the place, such as [Paris Store], [London Store], [Main Home]"
          },
          "@type": {
            "type": "string",
            "title": "@type",
            "description": "When sub-classing, this defines the sub-class Extensible name"
          },
          "@baseType": {
            "type": "string",
            "title": "@baseType",
            "description": "When sub-classing, this defines the super-class"
          },
          "@schemaLocation": {
            "type": "string",
            "title": "@schemaLocation",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          }
        }
      },
      "lib_MSISDN": {
        "allOf": [
          {
            "$ref": "#/components/schemas/lib_LogicalResource"
          },
          {
            "description": "A ResourceQualificationItem relates to a specific resource being checked in a qualification operation."
          }
        ]
      },
      "lib_Entity": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "title": "id",
            "description": "unique identifier"
          },
          "href": {
            "type": "string",
            "title": "href",
            "description": "Hyperlink reference"
          },
          "@type": {
            "type": "string",
            "title": "@type",
            "description": "When sub-classing, this defines the sub-class Extensible name"
          },
          "@baseType": {
            "type": "string",
            "title": "@baseType",
            "description": "When sub-classing, this defines the super-class"
          },
          "@schemaLocation": {
            "type": "string",
            "title": "@schemaLocation",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          }
        }
      },
      "lib_Feature": {
        "type": "object",
        "required": [
          "name",
          "featureCharacteristic"
        ],
        "properties": {
          "id": {
            "type": "string",
            "title": "id",
            "description": "Unique identifier of the feature."
          },
          "href": {
            "type": "string",
            "title": "href",
            "description": "Hyperlink reference"
          },
          "name": {
            "type": "string",
            "title": "name",
            "description": "This is the name for the feature."
          },
          "@type": {
            "type": "string",
            "title": "@type",
            "description": "When sub-classing, this defines the sub-class Extensible name"
          },
          "isBundle": {
            "type": "boolean",
            "title": "isBundle",
            "description": "True if this is a feature group. Default is false."
          },
          "isEnabled": {
            "type": "boolean",
            "title": "isEnabled",
            "description": "True if this feature is enabled. Default is true."
          },
          "@baseType": {
            "type": "string",
            "title": "@baseType",
            "description": "When sub-classing, this defines the super-class"
          },
          "constraint": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/lib_ConstraintRef"
            }
          },
          "@schemaLocation": {
            "type": "string",
            "title": "@schemaLocation",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "featureRelationship": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/lib_FeatureRelationship"
            }
          },
          "featureCharacteristic": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/lib_Characteristic"
            }
          }
        }
      },
      "lib_Quantity": {
        "type": "object",
        "properties": {
          "units": {
            "type": "string",
            "title": "units",
            "description": "Unit"
          },
          "amount": {
            "type": "number",
            "title": "amount",
            "format": "double",
            "default": 1,
            "description": "Numeric value in a given unit"
          }
        }
      },
      "lib_PlaceRef": {
        "type": "object",
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "type": "string",
            "title": "id",
            "description": "unique identifier"
          },
          "href": {
            "type": "string",
            "title": "href",
            "description": "Hyperlink reference"
          },
          "name": {
            "type": "string",
            "title": "name",
            "description": "Name of the related entity."
          },
          "@type": {
            "type": "string",
            "title": "@type",
            "description": "When sub-classing, this defines the sub-class Extensible name"
          },
          "@baseType": {
            "type": "string",
            "title": "@baseType",
            "description": "When sub-classing, this defines the super-class"
          },
          "@referredType": {
            "type": "string",
            "title": "@referredType",
            "description": "The actual type of the target instance when needed for disambiguation."
          },
          "@schemaLocation": {
            "type": "string",
            "title": "@schemaLocation",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          }
        }
      },
      "lib_Resource": {
        "type": "object",
        "required": [
          "id",
          "href"
        ],
        "properties": {
          "id": {
            "type": "string",
            "title": "id",
            "description": "Identifier of an instance of the resource. Required to be unique within the resource type.  Used in URIs as the identifier for specific instances of a type."
          },
          "href": {
            "type": "string",
            "title": "href",
            "description": "The URI for the object itself."
          },
          "name": {
            "type": "string",
            "title": "name",
            "description": "A string used to give a name to the resource"
          },
          "note": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/lib_Note"
            }
          },
          "place": {
            "allOf": [
              {
                "$ref": "#/components/schemas/lib_RelatedPlaceRefOrValue"
              },
              {
                "description": "Related Entity reference. A related place defines a place described by reference or by value linked to a specific entity. The polymorphic attributes @type, @schemaLocation & @referredType are related to the place entity and not the RelatedPlaceRefOrValue class itself"
              }
            ]
          },
          "@type": {
            "type": "string",
            "title": "@type",
            "description": "When sub-classing, this defines the sub-class Extensible name"
          },
          "category": {
            "type": "string",
            "title": "category",
            "description": "Category of the concrete resource. e.g Gold, Silver for MSISDN concrete resource"
          },
          "@baseType": {
            "type": "string",
            "title": "@baseType",
            "description": "When sub-classing, this defines the super-class"
          },
          "attachment": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/lib_AttachmentRefOrValue"
            }
          },
          "usageState": {
            "type": "string",
            "enum": [
              "idle",
              "active",
              "busy"
            ],
            "title": "usageState",
            "description": "ResourceUsageStateType enumerations"
          },
          "description": {
            "type": "string",
            "title": "description",
            "description": "free-text description of the resource"
          },
          "relatedParty": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/lib_RelatedParty"
            }
          },
          "resourceStatus": {
            "type": "string",
            "enum": [
              "standby",
              "alarm",
              "available",
              "reserved",
              "unknown",
              "suspended"
            ],
            "title": "resourceStatus",
            "description": "ResourceStatusType enumerations"
          },
          "resourceVersion": {
            "type": "string",
            "title": "resourceVersion",
            "description": "A field that identifies the specific version of an instance of a resource."
          },
          "@schemaLocation": {
            "type": "string",
            "title": "@schemaLocation",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "endOperatingDate": {
            "type": "string",
            "title": "endOperatingDate",
            "format": "date-time",
            "description": "A date time( DateTime). The date till the resource is operating"
          },
          "operationalState": {
            "type": "string",
            "enum": [
              "enable",
              "disable"
            ],
            "title": "operationalState",
            "description": "ResourceOperationalStateType enumerations"
          },
          "activationFeature": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/lib_Feature"
            }
          },
          "startOperatingDate": {
            "type": "string",
            "title": "startOperatingDate",
            "format": "date-time",
            "description": "A date time( DateTime). The date from which the resource is operating"
          },
          "administrativeState": {
            "type": "string",
            "enum": [
              "locked",
              "unlocked",
              "shutdown"
            ],
            "title": "administrativeState",
            "description": "ResourceAdministrativeStateType enumerations"
          },
          "resourceRelationship": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/lib_ResourceRelationship"
            }
          },
          "resourceSpecification": {
            "allOf": [
              {
                "$ref": "#/components/schemas/lib_ResourceSpecificationRef"
              },
              {
                "description": "Resources are physical or non-physical components (or some combination of these) within an enterprise's infrastructure or inventory. They are typically consumed or used by services (for example a physical port assigned to a service) or contribute to the realization of a Product (for example, a SIM card). They can be drawn from the Application, Computing and Network domains, and include, for example, Network Elements, software, IT systems, content and information, and technology components.\n\nA ResourceSpecification is an abstract base class for representing a generic means for implementing a particular type of Resource. In essence, a ResourceSpecification defines the common attributes and relationships of a set of related Resources, while Resource defines a specific instance that is based on a particular ResourceSpecification.\n"
              }
            ]
          },
          "resourceCharacteristic": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/lib_Characteristic"
            }
          }
        }
      },
      "lib_EntityRef": {
        "type": "object",
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "type": "string",
            "title": "id",
            "description": "unique identifier"
          },
          "href": {
            "type": "string",
            "title": "href",
            "description": "Hyperlink reference"
          },
          "name": {
            "type": "string",
            "title": "name",
            "description": "Name of the related entity."
          },
          "@type": {
            "type": "string",
            "title": "@type",
            "description": "When sub-classing, this defines the sub-class Extensible name"
          },
          "@baseType": {
            "type": "string",
            "title": "@baseType",
            "description": "When sub-classing, this defines the super-class"
          },
          "@referredType": {
            "type": "string",
            "title": "@referredType",
            "description": "The actual type of the target instance when needed for disambiguation."
          },
          "@schemaLocation": {
            "type": "string",
            "title": "@schemaLocation",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          }
        }
      },
      "lib_TimePeriod": {
        "type": "object",
        "properties": {
          "endDateTime": {
            "type": "string",
            "title": "endDateTime",
            "format": "date-time",
            "example": "1985-04-12T23:20:50.52Z",
            "description": "End of the time period, using IETC-RFC-3339 format"
          },
          "startDateTime": {
            "type": "string",
            "title": "startDateTime",
            "format": "date-time",
            "example": "1985-04-12T23:20:50.52Z",
            "description": "Start of the time period, using IETC-RFC-3339 format"
          }
        }
      },
      "lib_Extensible": {
        "type": "object",
        "properties": {
          "@type": {
            "type": "string",
            "title": "@type",
            "description": "When sub-classing, this defines the sub-class Extensible name"
          },
          "@baseType": {
            "type": "string",
            "title": "@baseType",
            "description": "When sub-classing, this defines the super-class"
          },
          "@schemaLocation": {
            "type": "string",
            "title": "@schemaLocation",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          }
        }
      },
      "lib_Attachment": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "title": "id",
            "example": " ",
            "description": "Unique identifier for this particular attachment"
          },
          "url": {
            "type": "string",
            "title": "url",
            "example": "http://host/Content/xx",
            "description": "Remote reference to the content if web-addressable"
          },
          "href": {
            "type": "string",
            "title": "href",
            "example": "http://host/Attachment/xx",
            "description": "URI for this Attachment"
          },
          "name": {
            "type": "string",
            "title": "name",
            "example": "iPhone 14 video",
            "description": "The name of the attachment"
          },
          "size": {
            "allOf": [
              {
                "$ref": "#/components/schemas/lib_Quantity"
              },
              {
                "description": "An amount in a given unit"
              }
            ]
          },
          "@type": {
            "type": "string",
            "title": "@type",
            "description": "When sub-classing, this defines the sub-class Extensible name"
          },
          "content": {
            "title": "content",
            "description": "The actual contents of the attachment object, if embedded, encoded as base64"
          },
          "mimeType": {
            "type": "string",
            "title": "mimeType",
            "example": "video/mp4",
            "description": "Attachment mime type such as extension file for video, picture and document"
          },
          "validFor": {
            "allOf": [
              {
                "$ref": "#/components/schemas/lib_TimePeriod"
              },
              {
                "description": "A period of time, either as a deadline (endDateTime only) a startDateTime only, or both"
              }
            ]
          },
          "@baseType": {
            "type": "string",
            "title": "@baseType",
            "description": "When sub-classing, this defines the super-class"
          },
          "description": {
            "type": "string",
            "title": "description",
            "example": "Photograph of the Product",
            "description": "A narrative text describing the content of the attachment"
          },
          "attachmentType": {
            "type": "string",
            "title": "attachmentType",
            "example": "video",
            "description": "Attachment type such as video, picture"
          },
          "@schemaLocation": {
            "type": "string",
            "title": "@schemaLocation",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          }
        }
      },
      "lib_Addressable": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "title": "id",
            "description": "unique identifier"
          },
          "href": {
            "type": "string",
            "title": "href",
            "description": "Hyperlink reference"
          }
        }
      },
      "lib_ResourceRef": {
        "type": "object",
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "type": "string",
            "title": "id",
            "description": "unique identifier"
          },
          "href": {
            "type": "string",
            "title": "href",
            "description": "Hyperlink reference"
          },
          "name": {
            "type": "string",
            "title": "name",
            "description": "Name of the related entity."
          },
          "@type": {
            "type": "string",
            "title": "@type",
            "description": "When sub-classing, this defines the sub-class Extensible name"
          },
          "@baseType": {
            "type": "string",
            "title": "@baseType",
            "description": "When sub-classing, this defines the super-class"
          },
          "@referredType": {
            "type": "string",
            "title": "@referredType",
            "description": "The actual type of the target instance when needed for disambiguation."
          },
          "@schemaLocation": {
            "type": "string",
            "title": "@schemaLocation",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          }
        }
      },
      "lib_RelatedParty": {
        "type": "object",
        "required": [
          "id",
          "@referredType"
        ],
        "properties": {
          "id": {
            "type": "string",
            "title": "id",
            "description": "unique identifier"
          },
          "href": {
            "type": "string",
            "title": "href",
            "description": "Hyperlink reference"
          },
          "name": {
            "type": "string",
            "title": "name",
            "description": "Name of the related entity."
          },
          "role": {
            "type": "string",
            "title": "role",
            "description": "Role played by the related party"
          },
          "@type": {
            "type": "string",
            "title": "@type",
            "description": "When sub-classing, this defines the sub-class Extensible name"
          },
          "@baseType": {
            "type": "string",
            "title": "@baseType",
            "description": "When sub-classing, this defines the super-class"
          },
          "@referredType": {
            "type": "string",
            "title": "@referredType",
            "description": "The actual type of the target instance when needed for disambiguation."
          },
          "@schemaLocation": {
            "type": "string",
            "title": "@schemaLocation",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          }
        }
      },
      "lib_AttachmentRef": {
        "type": "object",
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "type": "string",
            "title": "id",
            "description": "Unique-Identifier for this attachment"
          },
          "url": {
            "type": "string",
            "title": "url",
            "description": "Link to the attachment media/content"
          },
          "href": {
            "type": "string",
            "title": "href",
            "description": "URL serving as reference for the attachment resource"
          },
          "name": {
            "type": "string",
            "title": "name",
            "description": "Name of the related entity."
          },
          "@type": {
            "type": "string",
            "title": "@type",
            "description": "When sub-classing, this defines the sub-class Extensible name"
          },
          "@baseType": {
            "type": "string",
            "title": "@baseType",
            "description": "When sub-classing, this defines the super-class"
          },
          "description": {
            "type": "string",
            "title": "description",
            "description": "A narrative text describing the content of the attachment"
          },
          "@referredType": {
            "type": "string",
            "title": "@referredType",
            "description": "The actual type of the target instance when needed for disambiguation."
          },
          "@schemaLocation": {
            "type": "string",
            "title": "@schemaLocation",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          }
        }
      },
      "lib_ConstraintRef": {
        "type": "object",
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "type": "string",
            "title": "id",
            "description": "unique identifier"
          },
          "href": {
            "type": "string",
            "title": "href",
            "description": "Hyperlink reference"
          },
          "name": {
            "type": "string",
            "title": "name",
            "description": "Name of the related entity."
          },
          "@type": {
            "type": "string",
            "title": "@type",
            "description": "When sub-classing, this defines the sub-class Extensible name"
          },
          "version": {
            "type": "string",
            "title": "version",
            "description": "constraint version"
          },
          "@baseType": {
            "type": "string",
            "title": "@baseType",
            "description": "When sub-classing, this defines the super-class"
          },
          "@referredType": {
            "type": "string",
            "title": "@referredType",
            "description": "The actual type of the target instance when needed for disambiguation."
          },
          "@schemaLocation": {
            "type": "string",
            "title": "@schemaLocation",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          }
        }
      },
      "lib_Characteristic": {
        "type": "object",
        "required": [
          "name",
          "value"
        ],
        "properties": {
          "id": {
            "type": "string",
            "title": "id",
            "description": "Unique identifier of the characteristic"
          },
          "name": {
            "type": "string",
            "title": "name",
            "description": "Name of the characteristic"
          },
          "value": {
            "title": "value"
          },
          "@type": {
            "type": "string",
            "title": "@type",
            "description": "When sub-classing, this defines the sub-class Extensible name"
          },
          "valueType": {
            "type": "string",
            "title": "valueType",
            "description": "Data type of the value of the characteristic"
          },
          "@baseType": {
            "type": "string",
            "title": "@baseType",
            "description": "When sub-classing, this defines the super-class"
          },
          "@schemaLocation": {
            "type": "string",
            "title": "@schemaLocation",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "characteristicRelationship": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/lib_CharacteristicRelationship"
            }
          }
        }
      },
      "lib_LogicalResource": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/lib_Entity"
          },
          {
            "type": "object",
            "properties": {
              "value": {
                "title": "value",
                "type": "string",
                "description": "The value of the logical resource, such as: 0044746712345 for an MSISDN"
              },
              "category": {
                "title": "category",
                "type": "string",
                "description": "Category of the concrete resource, such as: Gold, Silver for MSISDN concrete resource"
              },
              "description": {
                "title": "description",
                "type": "string",
                "description": "Free-text description of the resource"
              },
              "endDate": {
                "title": "endDate",
                "type": "string",
                "format": "date-time",
                "description": "The date till the resource is effective"
              },
              "lifecycleState": {
                "title": "lifecycleState",
                "type": "string",
                "description": "The life cycle state of the resource"
              },
              "name": {
                "title": "name",
                "type": "string",
                "description": "A string used to give a name to the resource"
              },
              "startDate": {
                "title": "startDate",
                "type": "string",
                "format": "date-time",
                "description": "A date time( DateTime). The date from which the resource is effective"
              },
              "version": {
                "title": "version",
                "type": "string",
                "description": "A field that identifies the specific version of an instance of a resource"
              }
            }
          }
        ],
        "title": "LogicalResource"
      },
      "lib_TerminationError": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "title": "id",
            "description": "Unique identifier of the termination error"
          },
          "value": {
            "type": "string",
            "title": "value",
            "description": "Text to describe the termination error - for example: Unable to proceed to qualification because incomplete information provided"
          }
        }
      },
      "lib_MarketServiceInfo": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/lib_RelatedPlaceRefOrValue"
          },
          {
            "type": "object",
            "properties": {
              "serviceZipCode": {
                "title": "serviceZipCode",
                "type": "string"
              },
              "billingMarket": {
                "title": "billingMarket",
                "type": "string"
              },
              "billingSubMarket": {
                "title": "billingSubMarket",
                "type": "string"
              },
              "productType": {
                "title": "productType",
                "type": "string"
              }
            },
            "required": [
              "serviceZipCode"
            ]
          }
        ],
        "title": "MarketServiceInfo"
      },
      "lib_ResourceRefOrValue": {
        "type": "object",
        "required": [
          "id",
          "href"
        ],
        "properties": {
          "id": {
            "type": "string",
            "title": "id",
            "description": "Identifier of an instance of the resource. Required to be unique within the resource type.  Used in URIs as the identifier for specific instances of a type."
          },
          "href": {
            "type": "string",
            "title": "href",
            "description": "The URI for the object itself."
          },
          "name": {
            "type": "string",
            "title": "name",
            "description": "A string used to give a name to the resource"
          },
          "note": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/lib_Note"
            }
          },
          "place": {
            "allOf": [
              {
                "$ref": "#/components/schemas/lib_RelatedPlaceRefOrValue"
              },
              {
                "description": "Related Entity reference. A related place defines a place described by reference or by value linked to a specific entity. The polymorphic attributes @type, @schemaLocation & @referredType are related to the place entity and not the RelatedPlaceRefOrValue class itself"
              }
            ]
          },
          "@type": {
            "type": "string",
            "title": "@type",
            "description": "When sub-classing, this defines the sub-class Extensible name"
          },
          "category": {
            "type": "string",
            "title": "category",
            "description": "Category of the concrete resource. e.g Gold, Silver for MSISDN concrete resource"
          },
          "@baseType": {
            "type": "string",
            "title": "@baseType",
            "description": "When sub-classing, this defines the super-class"
          },
          "attachment": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/lib_AttachmentRefOrValue"
            }
          },
          "usageState": {
            "type": "string",
            "enum": [
              "idle",
              "active",
              "busy"
            ],
            "title": "usageState",
            "description": "ResourceUsageStateType enumerations"
          },
          "description": {
            "type": "string",
            "title": "description",
            "description": "free-text description of the resource"
          },
          "relatedParty": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/lib_RelatedParty"
            }
          },
          "@referredType": {
            "type": "string",
            "title": "@referredType",
            "description": "The actual type of the target instance when needed for disambiguation."
          },
          "resourceStatus": {
            "type": "string",
            "enum": [
              "standby",
              "alarm",
              "available",
              "reserved",
              "unknown",
              "suspended"
            ],
            "title": "resourceStatus",
            "description": "ResourceStatusType enumerations"
          },
          "resourceVersion": {
            "type": "string",
            "title": "resourceVersion",
            "description": "A field that identifies the specific version of an instance of a resource."
          },
          "@schemaLocation": {
            "type": "string",
            "title": "@schemaLocation",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "endOperatingDate": {
            "type": "string",
            "title": "endOperatingDate",
            "format": "date-time",
            "description": "A date time( DateTime). The date till the resource is operating"
          },
          "operationalState": {
            "type": "string",
            "enum": [
              "enable",
              "disable"
            ],
            "title": "operationalState",
            "description": "ResourceOperationalStateType enumerations"
          },
          "activationFeature": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/lib_Feature"
            }
          },
          "startOperatingDate": {
            "type": "string",
            "title": "startOperatingDate",
            "format": "date-time",
            "description": "A date time( DateTime). The date from which the resource is operating"
          },
          "administrativeState": {
            "type": "string",
            "enum": [
              "locked",
              "unlocked",
              "shutdown"
            ],
            "title": "administrativeState",
            "description": "ResourceAdministrativeStateType enumerations"
          },
          "resourceRelationship": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/lib_ResourceRelationship"
            }
          },
          "resourceSpecification": {
            "allOf": [
              {
                "$ref": "#/components/schemas/lib_ResourceSpecificationRef"
              },
              {
                "description": "Resources are physical or non-physical components (or some combination of these) within an enterprise's infrastructure or inventory. They are typically consumed or used by services (for example a physical port assigned to a service) or contribute to the realization of a Product (for example, a SIM card). They can be drawn from the Application, Computing and Network domains, and include, for example, Network Elements, software, IT systems, content and information, and technology components.\n\nA ResourceSpecification is an abstract base class for representing a generic means for implementing a particular type of Resource. In essence, a ResourceSpecification defines the common attributes and relationships of a set of related Resources, while Resource defines a specific instance that is based on a particular ResourceSpecification.\n"
              }
            ]
          },
          "resourceCharacteristic": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/lib_Characteristic"
            }
          }
        }
      },
      "lib_FeatureRelationship": {
        "type": "object",
        "required": [
          "name",
          "relationshipType"
        ],
        "properties": {
          "id": {
            "type": "string",
            "title": "id",
            "description": "Unique identifier of the target feature."
          },
          "href": {
            "type": "string",
            "title": "href",
            "description": "Hyperlink reference"
          },
          "name": {
            "type": "string",
            "title": "name",
            "description": "This is the name of the target feature."
          },
          "@type": {
            "type": "string",
            "title": "@type",
            "description": "When sub-classing, this defines the sub-class Extensible name"
          },
          "validFor": {
            "allOf": [
              {
                "$ref": "#/components/schemas/lib_TimePeriod"
              },
              {
                "description": "A period of time, either as a deadline (endDateTime only) a startDateTime only, or both"
              }
            ]
          },
          "@baseType": {
            "type": "string",
            "title": "@baseType",
            "description": "When sub-classing, this defines the super-class"
          },
          "@schemaLocation": {
            "type": "string",
            "title": "@schemaLocation",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "relationshipType": {
            "type": "string",
            "title": "relationshipType",
            "description": "This is the type of the feature relationship."
          }
        }
      },
      "lib_ResourceCategoryRef": {
        "type": "object",
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "type": "string",
            "title": "id",
            "description": "unique identifier"
          },
          "href": {
            "type": "string",
            "title": "href",
            "description": "Hyperlink reference"
          },
          "name": {
            "type": "string",
            "title": "name",
            "description": "Name of the related entity."
          },
          "@type": {
            "type": "string",
            "title": "@type",
            "description": "When sub-classing, this defines the sub-class Extensible name"
          },
          "version": {
            "type": "string",
            "title": "version",
            "description": "Category version"
          },
          "@baseType": {
            "type": "string",
            "title": "@baseType",
            "description": "When sub-classing, this defines the super-class"
          },
          "@referredType": {
            "type": "string",
            "title": "@referredType",
            "description": "The actual type of the target instance when needed for disambiguation."
          },
          "@schemaLocation": {
            "type": "string",
            "title": "@schemaLocation",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          }
        }
      },
      "lib_ServiceProviderInfo": {
        "type": "object",
        "required": [
          "localId",
          "networkId"
        ],
        "properties": {
          "localId": {
            "type": "string",
            "title": "localId",
            "minLength": 4,
            "maxLength": 4,
            "description": "Local service provider id used for wlnp process."
          },
          "networkId": {
            "type": "string",
            "title": "networkId",
            "minLength": 4,
            "maxLength": 4,
            "description": "Network service provider id used for wlnp process."
          },
          "resellerName": {
            "type": "string",
            "title": "resellerName",
            "description": "Name of reseller that sold wireless service."
          }
        }
      },
      "lib_ResourceRelationship": {
        "type": "object",
        "required": [
          "relationshipType",
          "resource"
        ],
        "properties": {
          "@type": {
            "type": "string",
            "title": "@type",
            "description": "When sub-classing, this defines the sub-class Extensible name"
          },
          "resource": {
            "allOf": [
              {
                "$ref": "#/components/schemas/lib_ResourceRefOrValue"
              },
              {
                "description": "Resource is an abstract entity that describes the common set of attributes shared by all concrete resources. The polymorphic attributes @type, @schemaLocation & @referredType are related to the Resource entity and not the related ResourceRefOrValue class itself"
              }
            ]
          },
          "@baseType": {
            "type": "string",
            "title": "@baseType",
            "description": "When sub-classing, this defines the super-class"
          },
          "@schemaLocation": {
            "type": "string",
            "title": "@schemaLocation",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "relationshipType": {
            "type": "string",
            "title": "relationshipType",
            "example": "bundled",
            "description": "Type of the resource relationship, such as [bundled] if the resource is a bundle and you want to describe the bundled resources inside this bundle; [reliesOn] if the resource needs another already owned resource to rely on (eg: an option on an already owned mobile access resource) [targets] or [isTargeted] (depending on the way of expressing the link) for any other kind of links that may be useful"
          }
        }
      },
      "lib_AttachmentRefOrValue": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "title": "id",
            "example": " ",
            "description": "Unique identifier for this particular attachment"
          },
          "url": {
            "type": "string",
            "title": "url",
            "example": "http://host/Content/xx",
            "description": "Remote reference to the content if web-addressable"
          },
          "href": {
            "type": "string",
            "title": "href",
            "example": "http://host/Attachment/xx",
            "description": "URI for this Attachment"
          },
          "name": {
            "type": "string",
            "title": "name",
            "example": "iPhone 14 video",
            "description": "The name of the attachment"
          },
          "size": {
            "allOf": [
              {
                "$ref": "#/components/schemas/lib_Quantity"
              },
              {
                "description": "An amount in a given unit"
              }
            ]
          },
          "@type": {
            "type": "string",
            "title": "@type",
            "description": "When sub-classing, this defines the sub-class Extensible name"
          },
          "content": {
            "title": "content",
            "description": "The actual contents of the attachment object, if embedded, encoded as base64"
          },
          "mimeType": {
            "type": "string",
            "title": "mimeType",
            "example": "video/mp4",
            "description": "Attachment mime type such as extension file for video, picture and document"
          },
          "validFor": {
            "allOf": [
              {
                "$ref": "#/components/schemas/lib_TimePeriod"
              },
              {
                "description": "A period of time, either as a deadline (endDateTime only) a startDateTime only, or both"
              }
            ]
          },
          "@baseType": {
            "type": "string",
            "title": "@baseType",
            "description": "When sub-classing, this defines the super-class"
          },
          "description": {
            "type": "string",
            "title": "description",
            "example": "Photograph of the Product",
            "description": "A narrative text describing the content of the attachment"
          },
          "@referredType": {
            "type": "string",
            "title": "@referredType",
            "description": "The actual type of the target instance when needed for disambiguation."
          },
          "attachmentType": {
            "type": "string",
            "title": "attachmentType",
            "example": "video",
            "description": "Attachment type such as video, picture"
          },
          "@schemaLocation": {
            "type": "string",
            "title": "@schemaLocation",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          }
        }
      },
      "lib_ServiceQualification": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "title": "id",
            "description": "Unique identifier of the serviceQualification resource"
          },
          "href": {
            "type": "string",
            "title": "href",
            "description": "Hyperlink to access the serviceQualification"
          },
          "state": {
            "type": "string",
            "enum": [
              "accepted",
              "terminatedWithError",
              "inProgress",
              "done"
            ],
            "title": "state",
            "description": "Possible values for the state of a task"
          },
          "@type": {
            "type": "string",
            "title": "@type",
            "description": "When sub-classing, this defines the sub-class Extensible name"
          },
          "@baseType": {
            "type": "string",
            "title": "@baseType",
            "description": "When sub-classing, this defines the super-class"
          },
          "externalId": {
            "type": "string",
            "title": "externalId",
            "description": "Identifier provided by the requester"
          },
          "description": {
            "type": "string",
            "title": "description",
            "description": "Description of the serviceQualification"
          },
          "relatedParty": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/lib_RelatedParty"
            }
          },
          "expirationDate": {
            "type": "string",
            "title": "expirationDate",
            "format": "date-time",
            "description": "Date when the qualification response expires"
          },
          "@schemaLocation": {
            "type": "string",
            "title": "@schemaLocation",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "estimatedResponseDate": {
            "type": "string",
            "title": "estimatedResponseDate",
            "format": "date-time",
            "description": "Date when the requester expect to provide an answer for the qualification request."
          },
          "instantSyncQualification": {
            "type": "boolean",
            "title": "instantSyncQualification",
            "description": "An indicator which when the value is \"true\" means that requester expects to get qualifcation result immediately in the response. If the indicator is true then the response code of 200 indicates the operation is successful otherwise a task is created with a response 201."
          },
          "expectedQualificationDate": {
            "type": "string",
            "title": "expectedQualificationDate",
            "format": "date-time",
            "description": "A date (DateTime). Deadline date when the requester expected a qualification answer."
          },
          "effectiveQualificationDate": {
            "type": "string",
            "title": "effectiveQualificationDate",
            "format": "date-time",
            "description": "Effective date to serviceQualification completion"
          }
        }
      },
      "lib_RelatedPlaceRefOrValue": {
        "type": "object",
        "required": [
          "role"
        ],
        "properties": {
          "id": {
            "type": "string",
            "title": "id",
            "description": "Unique identifier of the place"
          },
          "href": {
            "type": "string",
            "title": "href",
            "description": "Unique reference of the place"
          },
          "name": {
            "type": "string",
            "title": "name",
            "description": "A user-friendly name for the place, such as [Paris Store], [London Store], [Main Home]"
          },
          "role": {
            "type": "string",
            "title": "role"
          },
          "@type": {
            "type": "string",
            "title": "@type",
            "description": "When sub-classing, this defines the sub-class Extensible name"
          },
          "@baseType": {
            "type": "string",
            "title": "@baseType",
            "description": "When sub-classing, this defines the super-class"
          },
          "@referredType": {
            "type": "string",
            "title": "@referredType",
            "description": "The actual type of the target instance when needed for disambiguation."
          },
          "@schemaLocation": {
            "type": "string",
            "title": "@schemaLocation",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          }
        }
      },
      "lib_ResourceSpecificationRef": {
        "type": "object",
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "type": "string",
            "title": "id",
            "description": "unique identifier"
          },
          "href": {
            "type": "string",
            "title": "href",
            "description": "Hyperlink reference"
          },
          "name": {
            "type": "string",
            "title": "name",
            "description": "Name of the related entity."
          },
          "@type": {
            "type": "string",
            "title": "@type",
            "description": "When sub-classing, this defines the sub-class Extensible name"
          },
          "version": {
            "type": "string",
            "title": "version",
            "description": "Resource Specification version"
          },
          "@baseType": {
            "type": "string",
            "title": "@baseType",
            "description": "When sub-classing, this defines the super-class"
          },
          "@referredType": {
            "type": "string",
            "title": "@referredType",
            "description": "The actual type of the target instance when needed for disambiguation."
          },
          "@schemaLocation": {
            "type": "string",
            "title": "@schemaLocation",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          }
        }
      },
      "lib_ResourceQualificationItem": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "title": "id",
            "description": "Id of the Resource Qualification Item"
          },
          "href": {
            "type": "string",
            "title": "href",
            "description": "Hyperlink reference"
          },
          "@type": {
            "type": "string",
            "title": "@type",
            "description": "When sub-classing, this defines the sub-class Extensible name"
          },
          "category": {
            "allOf": [
              {
                "$ref": "#/components/schemas/lib_ResourceCategoryRef"
              },
              {
                "description": "The (resource) category resource is used to group resource candidates in logical containers. Categories can contain other categories."
              }
            ]
          },
          "resource": {
            "allOf": [
              {
                "$ref": "#/components/schemas/lib_ResourceRefOrValue"
              },
              {
                "description": "Resource is an abstract entity that describes the common set of attributes shared by all concrete resources. The polymorphic attributes @type, @schemaLocation & @referredType are related to the Resource entity and not the related ResourceRefOrValue class itself"
              }
            ]
          },
          "@baseType": {
            "type": "string",
            "title": "@baseType",
            "description": "When sub-classing, this defines the super-class"
          },
          "expirationDate": {
            "type": "string",
            "title": "expirationDate",
            "format": "date-time",
            "description": "Date when the qualification item response expires"
          },
          "@schemaLocation": {
            "type": "string",
            "title": "@schemaLocation",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "expectedActivationDate": {
            "type": "string",
            "title": "expectedActivationDate",
            "format": "date-time",
            "description": "The date when the resource is expected to be activated"
          },
          "expectedResourceAvailabilityDate": {
            "type": "string",
            "title": "expectedResourceAvailabilityDate",
            "format": "date-time",
            "description": "Date when the requester looks for resource availability"
          }
        }
      },
      "lib_AlternateResourceProposal": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "title": "id",
            "description": "Identifier of a alternate resource proposal"
          },
          "href": {
            "type": "string",
            "title": "href",
            "description": "Hyperlink reference"
          },
          "@type": {
            "type": "string",
            "title": "@type",
            "description": "When sub-classing, this defines the sub-class Extensible name"
          },
          "@baseType": {
            "type": "string",
            "title": "@baseType",
            "description": "When sub-classing, this defines the super-class"
          },
          "@schemaLocation": {
            "type": "string",
            "title": "@schemaLocation",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "alternateResource": {
            "allOf": [
              {
                "$ref": "#/components/schemas/lib_ResourceRefOrValue"
              },
              {
                "description": "Resource is an abstract entity that describes the common set of attributes shared by all concrete resources. The polymorphic attributes @type, @schemaLocation & @referredType are related to the Resource entity and not the related ResourceRefOrValue class itself"
              }
            ]
          },
          "alternateResourceAvailabilityDate": {
            "type": "string",
            "title": "alternateResourceAvailabilityDate",
            "format": "date-time",
            "description": "Alternate availability date in case seller is not able to meet requested expected availability date for the resource"
          }
        }
      },
      "lib_CharacteristicRelationship": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "title": "id",
            "description": "Unique identifier of the characteristic"
          },
          "href": {
            "type": "string",
            "title": "href",
            "description": "Hyperlink reference"
          },
          "@type": {
            "type": "string",
            "title": "@type",
            "description": "When sub-classing, this defines the sub-class Extensible name"
          },
          "@baseType": {
            "type": "string",
            "title": "@baseType",
            "description": "When sub-classing, this defines the super-class"
          },
          "@schemaLocation": {
            "type": "string",
            "title": "@schemaLocation",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "relationshipType": {
            "type": "string",
            "title": "relationshipType",
            "description": "The type of relationship"
          }
        }
      },
      "lib_CheckResourceQualification": {
        "type": "object",
        "required": [
          "serviceQualificationItem"
        ],
        "properties": {
          "id": {
            "type": "string",
            "title": "id",
            "description": "unique identifier"
          },
          "href": {
            "type": "string",
            "title": "href",
            "description": "Hyperlink reference"
          },
          "state": {
            "type": "string",
            "enum": [
              "accepted",
              "terminatedWithError",
              "inProgress",
              "done"
            ],
            "title": "state",
            "description": "Possible values for the state of a task"
          },
          "@type": {
            "type": "string",
            "title": "@type",
            "description": "When sub-classing, this defines the sub-class Extensible name"
          },
          "@baseType": {
            "type": "string",
            "title": "@baseType",
            "description": "When sub-classing, this defines the super-class"
          },
          "externalId": {
            "type": "string",
            "title": "externalId",
            "description": "Identifier provided by the requester"
          },
          "description": {
            "type": "string",
            "title": "description",
            "description": "Description of the serviceQualification"
          },
          "relatedParty": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/lib_RelatedParty"
            }
          },
          "expirationDate": {
            "type": "string",
            "title": "expirationDate",
            "format": "date-time",
            "description": "Date when the qualification response expires"
          },
          "@schemaLocation": {
            "type": "string",
            "title": "@schemaLocation",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "provideAlternative": {
            "type": "boolean",
            "title": "provideAlternative",
            "description": "When the value is TRUE means that alternative solutions should be provided"
          },
          "qualificationResult": {
            "type": "string",
            "title": "qualificationResult",
            "description": "Qualification result for this serviceQualification. It could be:  qualified (all qualification item are qualified), alternate (At least one item alternate and no item with  unqualified), unqualified (At least one item unqualified)"
          },
          "estimatedResponseDate": {
            "type": "string",
            "title": "estimatedResponseDate",
            "format": "date-time",
            "description": "Date when the requester expect to provide an answer for the qualification request."
          },
          "instantSyncQualification": {
            "type": "boolean",
            "title": "instantSyncQualification",
            "description": "An indicator which when the value is \"true\" means that requester expects to get qualifcation result immediately in the response. If the indicator is true then the response code of 200 indicates the operation is successful otherwise a task is created with a response 201."
          },
          "serviceQualificationItem": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/lib_CheckResourceQualificationItem"
            }
          },
          "expectedQualificationDate": {
            "type": "string",
            "title": "expectedQualificationDate",
            "format": "date-time",
            "description": "A date (DateTime). Deadline date when the requester expected a qualification answer."
          },
          "effectiveQualificationDate": {
            "type": "string",
            "title": "effectiveQualificationDate",
            "format": "date-time",
            "description": "Effective date to serviceQualification completion"
          },
          "provideUnavailabilityReason": {
            "type": "boolean",
            "title": "provideUnavailabilityReason",
            "description": "When the value is TRUE means that unavailability reason are expected for non available service."
          },
          "CheckResourceQualificationDate": {
            "type": "string",
            "title": "CheckResourceQualificationDate",
            "format": "date-time",
            "description": "Date when the serviceQualification was submitted"
          }
        }
      },
      "lib_CheckResourceQualificationItem": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "title": "id",
            "description": "unique identifier"
          },
          "href": {
            "type": "string",
            "title": "href",
            "description": "Hyperlink reference"
          },
          "state": {
            "type": "string",
            "title": "state",
            "description": "State of the resourceQualification item (acknowledged, inProgress, terminatedWithError, done)"
          },
          "@type": {
            "type": "string",
            "title": "@type",
            "description": "When sub-classing, this defines the sub-class Extensible name"
          },
          "category": {
            "allOf": [
              {
                "$ref": "#/components/schemas/lib_ResourceCategoryRef"
              },
              {
                "description": "The (resource) category resource is used to group resource candidates in logical containers. Categories can contain other categories."
              }
            ]
          },
          "resource": {
            "allOf": [
              {
                "$ref": "#/components/schemas/lib_ResourceRefOrValue"
              },
              {
                "description": "Resource is an abstract entity that describes the common set of attributes shared by all concrete resources. The polymorphic attributes @type, @schemaLocation & @referredType are related to the Resource entity and not the related ResourceRefOrValue class itself"
              }
            ]
          },
          "@baseType": {
            "type": "string",
            "title": "@baseType",
            "description": "When sub-classing, this defines the super-class"
          },
          "expirationDate": {
            "type": "string",
            "title": "expirationDate",
            "format": "date-time",
            "description": "Date when the qualification item response expires"
          },
          "@schemaLocation": {
            "type": "string",
            "title": "@schemaLocation",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "terminationError": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/lib_TerminationError"
            }
          },
          "qualificationResult": {
            "type": "string",
            "title": "qualificationResult",
            "description": "Qualification result for resourceQualification item. It could be: - qualified (request resource are available), - unqualified (requested not available and not alternate available), - alternate (requested not available but proposal available)"
          },
          "expectedActivationDate": {
            "type": "string",
            "title": "expectedActivationDate",
            "format": "date-time",
            "description": "The date when the resource is expected to be activated"
          },
          "alternateResourceProposal": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/lib_AlternateResourceProposal"
            }
          },
          "qualificationRelationship": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/lib_ResourceQualificationRelationship"
            }
          },
          "qualificationItemRelationship": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/lib_ResourceQualificationItemRelationship"
            }
          },
          "eligibilityUnavailabilityReason": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/lib_ResourceEligibilityUnavailabilityReason"
            }
          },
          "expectedResourceAvailabilityDate": {
            "type": "string",
            "title": "expectedResourceAvailabilityDate",
            "format": "date-time",
            "description": "Date when the requester looks for resource availability"
          }
        }
      },
      "lib_ResourceQualificationRelationship": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "title": "id",
            "description": "The id of the target qualification pointed to by this relationship"
          },
          "href": {
            "type": "string",
            "title": "href",
            "description": "Hyperlink reference"
          },
          "@type": {
            "type": "string",
            "title": "@type",
            "description": "When sub-classing, this defines the sub-class Extensible name"
          },
          "@baseType": {
            "type": "string",
            "title": "@baseType",
            "description": "When sub-classing, this defines the super-class"
          },
          "@schemaLocation": {
            "type": "string",
            "title": "@schemaLocation",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "relationshipType": {
            "type": "string",
            "title": "relationshipType",
            "description": "The type of relationship"
          }
        }
      },
      "lib_CheckResourceQualification_Update": {
        "type": "object",
        "properties": {
          "state": {
            "type": "string",
            "enum": [
              "accepted",
              "terminatedWithError",
              "inProgress",
              "done"
            ],
            "title": "state",
            "description": "Possible values for the state of a task"
          },
          "@type": {
            "type": "string",
            "title": "@type",
            "description": "When sub-classing, this defines the sub-class Extensible name"
          },
          "@baseType": {
            "type": "string",
            "title": "@baseType",
            "description": "When sub-classing, this defines the super-class"
          },
          "externalId": {
            "type": "string",
            "title": "externalId",
            "description": "Identifier provided by the requester"
          },
          "description": {
            "type": "string",
            "title": "description",
            "description": "Description of the serviceQualification"
          },
          "relatedParty": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/lib_RelatedParty"
            }
          },
          "expirationDate": {
            "type": "string",
            "title": "expirationDate",
            "format": "date-time",
            "description": "Date when the qualification response expires"
          },
          "@schemaLocation": {
            "type": "string",
            "title": "@schemaLocation",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "provideAlternative": {
            "type": "boolean",
            "title": "provideAlternative",
            "description": "When the value is TRUE means that alternative solutions should be provided. The default is false"
          },
          "qualificationResult": {
            "type": "string",
            "title": "qualificationResult",
            "description": "Qualification result for this serviceQualification. It could be:  qualified (all qualification item are qualified), alternate (At least one item alternate and no item with  unqualified), unqualified (At least one item unqualified)"
          },
          "estimatedResponseDate": {
            "type": "string",
            "title": "estimatedResponseDate",
            "format": "date-time",
            "description": "Date when the requester expect to provide an answer for the qualification request."
          },
          "instantSyncQualification": {
            "type": "boolean",
            "title": "instantSyncQualification",
            "description": "An indicator which when the value is \"true\" means that requester expects to get qualifcation result immediately in the response. If the indicator is true then the response code of 200 indicates the operation is successful otherwise a task is created with a response 201."
          },
          "serviceQualificationItem": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/lib_CheckResourceQualificationItem"
            }
          },
          "expectedQualificationDate": {
            "type": "string",
            "title": "expectedQualificationDate",
            "format": "date-time",
            "description": "A date (DateTime). Deadline date when the requester expected a qualification answer."
          },
          "effectiveQualificationDate": {
            "type": "string",
            "title": "effectiveQualificationDate",
            "format": "date-time",
            "description": "Effective date to serviceQualification completion"
          },
          "provideUnavailabilityReason": {
            "type": "boolean",
            "title": "provideUnavailabilityReason",
            "description": "When the value is TRUE means that unavailability reason are expected for non available service. The default is false"
          }
        }
      },
      "lib_CheckResourceQualification_Create": {
        "type": "object",
        "properties": {
          "@type": {
            "type": "string",
            "title": "@type",
            "description": "When sub-classing, this defines the sub-class Extensible name"
          },
          "@baseType": {
            "type": "string",
            "title": "@baseType",
            "description": "When sub-classing, this defines the super-class"
          },
          "externalId": {
            "type": "string",
            "title": "externalId",
            "description": "Identifier provided by the requester"
          },
          "description": {
            "type": "string",
            "title": "description",
            "description": "Description of the serviceQualification"
          },
          "relatedParty": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/lib_RelatedParty"
            }
          },
          "@schemaLocation": {
            "type": "string",
            "title": "@schemaLocation",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "provideAlternative": {
            "type": "boolean",
            "title": "provideAlternative",
            "description": "When the value is TRUE means that alternative solutions should be provided"
          },
          "instantSyncQualification": {
            "type": "boolean",
            "title": "instantSyncQualification",
            "description": "An indicator which when the value is \"true\" means that requester expects to get qualifcation result immediately in the response. If the indicator is true then the response code of 200 indicates the operation is successful otherwise a task is created with a response 201."
          },
          "serviceQualificationItem": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/lib_CheckResourceQualificationItem"
            }
          },
          "expectedQualificationDate": {
            "type": "string",
            "title": "expectedQualificationDate",
            "format": "date-time",
            "description": "A date (DateTime). Deadline date when the requester expected a qualification answer."
          },
          "provideUnavailabilityReason": {
            "type": "boolean",
            "title": "provideUnavailabilityReason",
            "description": "When the value is TRUE means that unavailability reason are expected for non available service."
          },
          "CheckResourceQualificationDate": {
            "type": "string",
            "title": "CheckResourceQualificationDate",
            "format": "date-time",
            "description": "Date when the serviceQualification was submitted"
          }
        }
      },
      "lib_ResourceQualificationItemRelationship": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "title": "id",
            "description": "Id of the resourceQualificationItem (from the same resourceQualificationItem)."
          },
          "href": {
            "type": "string",
            "title": "href",
            "description": "Hyperlink reference"
          },
          "@type": {
            "type": "string",
            "title": "@type",
            "description": "When sub-classing, this defines the sub-class Extensible name"
          },
          "@baseType": {
            "type": "string",
            "title": "@baseType",
            "description": "When sub-classing, this defines the super-class"
          },
          "@schemaLocation": {
            "type": "string",
            "title": "@schemaLocation",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          },
          "relationshipType": {
            "type": "string",
            "title": "relationshipType",
            "description": "Type of relationship (ex: reliesOn, connectedTo, etc...)"
          }
        }
      },
      "lib_MSISDNPortEligibilityQualificationItem": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/lib_CheckResourceQualificationItem"
          },
          {
            "type": "object",
            "properties": {
              "@type": {
                "title": "@type",
                "type": "string",
                "description": "When sub-classing, this defines the sub-class Extensible name",
                "enum": [
                  "MSISDNPortEligibilityQualificationItem"
                ]
              },
              "marketServiceInfo": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/lib_MarketServiceInfo"
                  },
                  {
                    "description": "A place object representing the market service info"
                  }
                ]
              },
              "equipmentType": {
                "title": "equipmentType",
                "type": "string",
                "enum": [
                  "C",
                  "G"
                ],
                "default": "G"
              },
              "portInDestination": {
                "title": "portInDestination",
                "type": "string",
                "description": "Expected Valid Values are A (ATT), L (Liberty), or F (First-net)",
                "enum": [
                  "A",
                  "F",
                  "L"
                ],
                "default": "A"
              },
              "relaxedMarketCoverageIndicator": {
                "title": "relaxedMarketCoverageIndicator",
                "type": "boolean"
              },
              "eligibilityFlag": {
                "title": "eligibilityFlag",
                "type": "boolean",
                "description": "This field designates whether the subscriber number is eligible for porting or not. Response only."
              },
              "reasonCode": {
                "title": "reasonCode",
                "type": "string",
                "description": "Response only."
              },
              "reasonDescription": {
                "title": "reasonDescription",
                "type": "string",
                "description": "Response only."
              },
              "oldServiceProvider": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/lib_ServiceProviderInfo"
                  },
                  {
                    "description": "Data fields related to old or new service provider for wlnp process. Response only."
                  }
                ]
              },
              "newServiceProvider": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/lib_ServiceProviderInfo"
                  },
                  {
                    "description": "Data fields related to old or new service provider for wlnp process. Response only."
                  }
                ]
              },
              "serviceArea": {
                "title": "serviceArea",
                "type": "string",
                "description": "Service area rate center ID. Response only."
              }
            },
            "required": [
              "@type",
              "marketServiceInfo"
            ]
          }
        ],
        "title": "MSISDNPortEligibilityQualificationItem"
      },
      "lib_CheckMSISDNPortEligibilityQualification": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/lib_CheckResourceQualification"
          },
          {
            "type": "object",
            "properties": {
              "@type": {
                "title": "@type",
                "type": "string",
                "description": "When sub-classing, this defines the sub-class Extensible name",
                "enum": [
                  "CheckMSISDNPortEligibilityQualification"
                ]
              }
            },
            "required": [
              "@type"
            ]
          }
        ],
        "title": "CheckMSISDNPortEligibilityQualification"
      },
      "lib_ResourceEligibilityUnavailabilityReason": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "title": "id",
            "description": "unique identifier"
          },
          "href": {
            "type": "string",
            "title": "href",
            "description": "Hyperlink reference"
          },
          "code": {
            "type": "string",
            "title": "code",
            "description": "Unavailability reason code"
          },
          "label": {
            "type": "string",
            "title": "label",
            "description": "Unavailability reason label"
          },
          "@type": {
            "type": "string",
            "title": "@type",
            "description": "When sub-classing, this defines the sub-class Extensible name"
          },
          "@baseType": {
            "type": "string",
            "title": "@baseType",
            "description": "When sub-classing, this defines the super-class"
          },
          "@schemaLocation": {
            "type": "string",
            "title": "@schemaLocation",
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
          }
        }
      },
      "lib_CheckMSISDNPortEligibilityQualification_Create": {
        "type": "object",
        "allOf": [
          {
            "$ref": "#/components/schemas/lib_CheckResourceQualification_Create"
          },
          {
            "type": "object",
            "properties": {
              "@type": {
                "title": "@type",
                "type": "string",
                "description": "When sub-classing, this defines the sub-class Extensible name"
              }
            },
            "required": [
              "@type"
            ]
          }
        ],
        "title": "CheckMSISDNPortEligibilityQualification_Create"
      }
    },
    "headers": {},
    "examples": {},
    "responses": {
      "trait_jwt_400": {
        "content": {
          "application/json": {
            "example": {
              "code": "400",
              "reason": "JWT Token is required",
              "status": "400-UNAUTHORIZED-TMF761",
              "message": "JWT Token is required"
            }
          }
        },
        "description": "JWT Token is required."
      },
      "trait_jwt_401": {
        "content": {
          "application/json": {
            "example": {
              "code": "401",
              "reason": "Invalid token",
              "status": "401-UNAUTHORIZED-TMF761",
              "message": "Invalid token"
            }
          }
        },
        "description": "Invalid token."
      },
      "trait_jwt_503": {
        "content": {
          "application/json": {
            "example": {
              "code": "503",
              "reason": "Internal Server Error",
              "status": "503-INTERNAL SERVER_ERROR-TMF761",
              "message": "Internal Server Error"
            }
          }
        },
        "description": "Error communicating with JWKS server."
      },
      "trait_error-responses_400": {
        "content": {
          "application/json": {
            "example": {
              "code": "400",
              "reason": "Required header 'X-ATT-ConversationId' not specified",
              "status": "400-BAD_REQUEST-TMF761",
              "message": "Required header 'X-ATT-ConversationId' not specified"
            }
          }
        },
        "description": "Bad request to the server."
      },
      "trait_error-responses_401": {
        "content": {
          "application/json": {
            "example": {
              "code": "401",
              "reason": "Unauthorized",
              "status": "401-UNAUTHORIZED-TMF761",
              "message": "Unauthorized"
            }
          }
        },
        "description": "Invalid credentials."
      },
      "trait_error-responses_403": {
        "content": {
          "application/json": {
            "example": {
              "code": "403",
              "reason": "Forbidden",
              "status": "403-FORBIDDEN-TMF761",
              "message": "Forbidden"
            }
          }
        },
        "description": "Issue with the credentials."
      },
      "trait_error-responses_406": {
        "content": {
          "application/json": {
            "example": {
              "code": "406",
              "error": "Not Acceptable",
              "reason": "Not Acceptable",
              "status": "405-UNACCEPTABLE-TMF761"
            }
          }
        },
        "description": "Unacceptable request body."
      },
      "trait_error-responses_415": {
        "content": {
          "application/json": {
            "example": {
              "code": "415",
              "reason": "Unsupported mediaType",
              "status": "415-UNSUPPORTED_MEDIA_TYPE-TMF761",
              "message": "Unsupported mediaType"
            }
          }
        },
        "description": "Bad Content-Type header. Unsupported media type."
      },
      "trait_error-responses_500": {
        "content": {
          "application/json": {
            "example": {
              "code": "500",
              "reason": "Internal Server Error",
              "status": "500-INTERNAL SERVER_ERROR-TMF761",
              "message": "Internal Server Error"
            }
          }
        },
        "description": "Processing error for the request."
      }
    },
    "callbacks": {},
    "parameters": {
      "trait_headers_Accept": {
        "in": "header",
        "name": "Accept",
        "schema": {
          "type": "string",
          "default": "application/json"
        },
        "required": true,
        "description": "Specifies the media type as \"application/json\"."
      },
      "trait_jwt_Authorization": {
        "in": "header",
        "name": "Authorization",
        "schema": {
          "type": "string"
        },
        "required": true,
        "description": "JWT Bearer Token. Token URL:  "
      },
      "trait_headers_Authorization": {
        "in": "header",
        "name": "Authorization",
        "schema": {
          "type": "string"
        },
        "required": true,
        "description": "Valid JSON Web Token."
      },
      "trait_headers_Content-Length": {
        "in": "header",
        "name": "Content-Length",
        "schema": {
          "type": "integer",
          "default": 0
        },
        "required": false,
        "description": "Matches the count of bytes in the request body so the server can know whether it has read the correct number of bytes."
      },
      "trait_headers_X-ATT-ClientId": {
        "in": "header",
        "name": "X-ATT-ClientId",
        "schema": {
          "type": "string"
        },
        "required": false,
        "description": "ID derived from the JSON Web Token which represents the ClientId of the API Consumer who initiated the call flow at the Mule Gateway. This is used by downstream APIs to log data about the entity which initiated the call flow."
      },
      "trait_headers_X-ATT-CorrelationId": {
        "in": "header",
        "name": "X-ATT-CorrelationId",
        "schema": {
          "type": "string"
        },
        "required": false,
        "description": "32 hexadecimal characters grouped as 8-4-4-4-12 and separated by four hyphens (XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX) for a total length of 36 characters."
      },
      "trait_headers_X-ATT-ConversationId": {
        "in": "header",
        "name": "X-ATT-ConversationId",
        "schema": {
          "type": "string"
        },
        "required": false,
        "description": "32 hexadecimal characters grouped as 8-4-4-4-12 and separated by four hyphens (XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX) for a total length of 36 characters."
      }
    },
    "requestBodies": {},
    "securitySchemes": {}
  }
}