All Downloads are FREE. Search and download functionalities are using the official Maven repository.

.catalog.1.0.1-beta.2.source-code.catalog.swagger.json Maven / Gradle / Ivy

{
  "swagger": "2.0",
  "info": {
    "title": "enums.proto",
    "version": "version not set"
  },
  "tags": [
    {
      "name": "ProductChargeDefinitionService"
    },
    {
      "name": "ProductRatePlanChargeService"
    },
    {
      "name": "FeatureService"
    },
    {
      "name": "ProductRatePlanService"
    },
    {
      "name": "ProductService"
    },
    {
      "name": "AggregateService"
    },
    {
      "name": "ChargeSelectionService"
    },
    {
      "name": "DiscountService"
    },
    {
      "name": "ProductRatePlanChargeTierService"
    },
    {
      "name": "ProductRatePlanDefinitionService"
    },
    {
      "name": "SurchargeService"
    }
  ],
  "consumes": [
    "application/json"
  ],
  "produces": [
    "application/json"
  ],
  "paths": {
    "/charge-definitions": {
      "post": {
        "operationId": "ProductChargeDefinitionService_CreateProductChargeDefinition",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/ProductChargeDefinitionResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/CreateProductChargeDefinitionRequest"
            }
          }
        ],
        "tags": [
          "ProductChargeDefinitionService"
        ]
      },
      "put": {
        "operationId": "ProductChargeDefinitionService_UpdateProductChargeDefinition",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/ProductChargeDefinitionResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/UpdateProductChargeDefinitionRequest"
            }
          }
        ],
        "tags": [
          "ProductChargeDefinitionService"
        ]
      }
    },
    "/charge-definitions/context-query-v2": {
      "post": {
        "operationId": "ProductChargeDefinitionService_GetChargesByContextv2",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/ProductChargeDefinitionsResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/GetPlanChargesByContextRequestv2"
            }
          }
        ],
        "tags": [
          "ProductChargeDefinitionService"
        ]
      }
    },
    "/charge-definitions/migration": {
      "post": {
        "operationId": "ProductChargeDefinitionService_MigrateToAbpV2",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/CommonResponseWithError"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/MigrateToAbpV2Request"
            }
          }
        ],
        "tags": [
          "ProductChargeDefinitionService"
        ]
      }
    },
    "/charge-definitions/query": {
      "post": {
        "operationId": "ProductChargeDefinitionService_GetProductChargeDefinitions",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/ProductChargeDefinitionsResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/GetProductChargeDefinitionsRequest"
            }
          }
        ],
        "tags": [
          "ProductChargeDefinitionService"
        ]
      }
    },
    "/charge-definitions/singleton-query": {
      "post": {
        "operationId": "ProductChargeDefinitionService_GetProductChargeDefinition",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/ProductChargeDefinitionResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/GetProductChargeDefinitionRequest"
            }
          }
        ],
        "tags": [
          "ProductChargeDefinitionService"
        ]
      }
    },
    "/charge-definitions/{id}": {
      "delete": {
        "operationId": "ProductChargeDefinitionService_DeleteProductChargeDefinition",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/DeleteProductChargeDefinitionResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "tags": [
          "ProductChargeDefinitionService"
        ]
      }
    },
    "/charge-selection-contexts": {
      "post": {
        "operationId": "ChargeSelectionService_CreateChargeSelectionContext",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/CreateChargeSelectionContextRequest"
            }
          }
        ],
        "tags": [
          "ChargeSelectionService"
        ]
      }
    },
    "/charge-selection-decision-tables": {
      "post": {
        "operationId": "ChargeSelectionService_CreateChargeSelectionDecisionTable",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/Response"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/CreateChargeSelectionDecisionTableRequest"
            }
          }
        ],
        "tags": [
          "ChargeSelectionService"
        ]
      }
    },
    "/charges": {
      "put": {
        "operationId": "ProductRatePlanChargeService_UpdateProductRatePlanCharge",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/ProductRatePlanChargeResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/UpdateProductRatePlanChargeRequest"
            }
          }
        ],
        "tags": [
          "ProductRatePlanChargeService"
        ]
      }
    },
    "/charges/price/query": {
      "post": {
        "operationId": "ProductRatePlanChargeService_GetPrice",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/GetPriceResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/GetPriceRequest"
            }
          }
        ],
        "tags": [
          "ProductRatePlanChargeService"
        ]
      }
    },
    "/charges/query": {
      "post": {
        "operationId": "ProductRatePlanChargeService_GetProductRatePlanCharge",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/ProductRatePlanChargeResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/GetProductRatePlanChargeRequest"
            }
          }
        ],
        "tags": [
          "ProductRatePlanChargeService"
        ]
      }
    },
    "/charges/{chargeId}/expressions": {
      "post": {
        "operationId": "ProductRatePlanChargeService_AddExpressionToCharge",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/CommonResponseWithError"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "chargeId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "type": "object",
              "properties": {
                "tenant": {
                  "type": "string"
                },
                "metadata": {
                  "type": "string"
                },
                "jsBody": {
                  "type": "string"
                },
                "header": {
                  "type": "string"
                },
                "dataRows": {
                  "type": "string"
                },
                "decisionTreeBody": {
                  "type": "string"
                },
                "mvelRuleBody": {
                  "type": "string"
                },
                "expressionType": {
                  "$ref": "#/definitions/ExpressionType"
                }
              }
            }
          }
        ],
        "tags": [
          "ProductRatePlanChargeService"
        ]
      }
    },
    "/charges/{productRatePlanChargeKey}": {
      "delete": {
        "operationId": "ProductRatePlanChargeService_DeleteProductRatePlanCharge",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/DeleteProductRatePlanChargeResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "productRatePlanChargeKey",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "tags": [
          "ProductRatePlanChargeService"
        ]
      }
    },
    "/discounts": {
      "post": {
        "summary": "* Create a discount",
        "operationId": "DiscountService_CreateDiscount",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/DiscountResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/CreateDiscountRequest"
            }
          }
        ],
        "tags": [
          "DiscountService"
        ]
      },
      "put": {
        "summary": "* Update a discount",
        "operationId": "DiscountService_UpdateDiscount",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/DiscountResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/UpdateDiscountRequest"
            }
          }
        ],
        "tags": [
          "DiscountService"
        ]
      }
    },
    "/discounts/{discountKey}": {
      "get": {
        "summary": "* Get a discount by id",
        "operationId": "DiscountService_GetDiscount",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/DiscountResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "discountKey",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "tags": [
          "DiscountService"
        ]
      },
      "delete": {
        "summary": "* Delete a discount",
        "operationId": "DiscountService_DeleteDiscount",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/DeleteDiscountResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "discountKey",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "tags": [
          "DiscountService"
        ]
      }
    },
    "/entitlements/query": {
      "post": {
        "operationId": "FeatureService_GetEntitlementBySubscription",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/FeatureResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/GetEntitlementBySubscriptionRequest"
            }
          }
        ],
        "tags": [
          "FeatureService"
        ]
      }
    },
    "/features": {
      "post": {
        "summary": "* Create a product",
        "operationId": "FeatureService_CreateFeature",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/FeatureResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/CreateFeatureRequest"
            }
          }
        ],
        "tags": [
          "FeatureService"
        ]
      },
      "put": {
        "operationId": "FeatureService_UpdateFeature",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/FeatureResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/UpdateFeatureRequest"
            }
          }
        ],
        "tags": [
          "FeatureService"
        ]
      }
    },
    "/features/{featureKey}": {
      "get": {
        "summary": "* Get a product by id",
        "operationId": "FeatureService_GetFeature",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/FeatureResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "featureKey",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "tags": [
          "FeatureService"
        ]
      },
      "delete": {
        "operationId": "FeatureService_DeleteFeature",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/DeleteFeatureResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "featureKey",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "tags": [
          "FeatureService"
        ]
      }
    },
    "/plan-definitions": {
      "post": {
        "operationId": "ProductRatePlanDefinitionService_CreateProductRatePlanDefinition",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/ProductRatePlanDefinitionResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/CreateProductRatePlanDefinitionRequest"
            }
          }
        ],
        "tags": [
          "ProductRatePlanDefinitionService"
        ]
      }
    },
    "/plan-definitions/{id}": {
      "get": {
        "operationId": "ProductRatePlanDefinitionService_GetProductRatePlanDefinition",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/ProductRatePlanDefinitionResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "tags": [
          "ProductRatePlanDefinitionService"
        ]
      }
    },
    "/plans": {
      "post": {
        "operationId": "AggregateService_CreatePlan",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/PlansAggregateResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/AggregatePlanRequest"
            }
          }
        ],
        "tags": [
          "AggregateService"
        ]
      },
      "put": {
        "summary": "* Delete a product rateplan",
        "operationId": "ProductRatePlanService_UpdateProductRatePlan",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/ProductRatePlanResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/UpdateProductRatePlanRequest"
            }
          }
        ],
        "tags": [
          "ProductRatePlanService"
        ]
      }
    },
    "/plans/charge-definitions": {
      "post": {
        "operationId": "ProductRatePlanService_CreateChargeDefinitionsForRatePlan",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/CommonResponseWithError"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/CreateChargeDefinitionsRequest"
            }
          }
        ],
        "tags": [
          "ProductRatePlanService"
        ]
      },
      "put": {
        "operationId": "ProductRatePlanService_UpdateChargeDefinitionsForRatePlan",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/CommonResponseWithError"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/CreateChargeDefinitionsRequest"
            }
          }
        ],
        "tags": [
          "ProductRatePlanService"
        ]
      }
    },
    "/plans/charge-definitions/context-query": {
      "post": {
        "operationId": "ProductChargeDefinitionService_GetPlanChargesByContext",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/ProductChargeDefinitionsResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/GetPlanChargesByContextRequest"
            }
          }
        ],
        "tags": [
          "ProductChargeDefinitionService"
        ]
      }
    },
    "/plans/query": {
      "post": {
        "summary": "* Get a product rateplan by id",
        "operationId": "ProductRatePlanService_GetProductRatePlan",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/ProductRatePlanResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/GetProductRatePlanRequest"
            }
          }
        ],
        "tags": [
          "ProductRatePlanService"
        ]
      }
    },
    "/plans/{productRatePlanKey}": {
      "delete": {
        "summary": "* Delete a product rateplan",
        "operationId": "ProductRatePlanService_DeleteProductRatePlan",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/DeleteProductRatePlanResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "productRatePlanKey",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "tags": [
          "ProductRatePlanService"
        ]
      }
    },
    "/products": {
      "post": {
        "operationId": "AggregateService_CreateProduct",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/ProductAggregateResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/AggregateProductRequest"
            }
          }
        ],
        "tags": [
          "AggregateService"
        ]
      },
      "put": {
        "summary": "* Update a product",
        "operationId": "ProductService_UpdateProduct",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/ProductResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/UpdateProductRequest"
            }
          }
        ],
        "tags": [
          "ProductService"
        ]
      }
    },
    "/products/{productKey}": {
      "get": {
        "summary": "* Get a product by id",
        "operationId": "ProductService_GetProduct",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/ProductResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "productKey",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "type": "string",
            "enum": [
              "id",
              "createdBy",
              "createdTime",
              "updatedBy",
              "updatedTime",
              "name",
              "description",
              "productNumber",
              "sku",
              "startDate",
              "endDate",
              "category",
              "customFields",
              "customObjects",
              "idOrSKUOrNumber"
            ],
            "default": "id"
          },
          {
            "name": "expand.customObjects",
            "in": "query",
            "required": false,
            "type": "boolean"
          },
          {
            "name": "expand.productRatePlans",
            "in": "query",
            "required": false,
            "type": "boolean"
          },
          {
            "name": "expand.productRatePlanCharges",
            "in": "query",
            "required": false,
            "type": "boolean"
          },
          {
            "name": "expand.productChargeDefinitions",
            "in": "query",
            "required": false,
            "type": "boolean"
          },
          {
            "name": "allowFeatureChanges",
            "in": "query",
            "required": false,
            "type": "boolean"
          }
        ],
        "tags": [
          "ProductService"
        ]
      },
      "delete": {
        "summary": "* Delete a product",
        "operationId": "ProductService_DeleteProduct",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/DeleteProductResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "productKey",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "tags": [
          "ProductService"
        ]
      }
    },
    "/surcharges": {
      "post": {
        "summary": "* Create a surcharge",
        "operationId": "SurchargeService_CreateSurcharge",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/SurchargeResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/CreateSurchargeRequest"
            }
          }
        ],
        "tags": [
          "SurchargeService"
        ]
      },
      "put": {
        "summary": "* Update a surcharge",
        "operationId": "SurchargeService_UpdateSurcharge",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/SurchargeResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/UpdateSurchargeRequest"
            }
          }
        ],
        "tags": [
          "SurchargeService"
        ]
      }
    },
    "/surcharges/query": {
      "post": {
        "summary": "* Get a surcharge by id",
        "operationId": "SurchargeService_GetSurchargeByCategory",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/SurchargeResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/GetSurchargeByCategoryRequest"
            }
          }
        ],
        "tags": [
          "SurchargeService"
        ]
      }
    },
    "/surcharges/query-by-id": {
      "post": {
        "summary": "* Get a surcharge by id",
        "operationId": "SurchargeService_GetSurcharge",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/SurchargeResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/GetSurchargeRequest"
            }
          }
        ],
        "tags": [
          "SurchargeService"
        ]
      }
    },
    "/surcharges/{category}": {
      "delete": {
        "summary": "* Delete a surcharge",
        "operationId": "SurchargeService_DeleteSurchargeByCategory",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/DeleteSurchargeResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "category",
            "in": "path",
            "required": true,
            "type": "string",
            "enum": [
              "PAYMENT_SURCHARGE"
            ]
          }
        ],
        "tags": [
          "SurchargeService"
        ]
      }
    },
    "/surcharges/{category}/definition": {
      "get": {
        "summary": "* Get a surcharge definition by category",
        "operationId": "SurchargeService_GetSurchargeDefinition",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/SurchargeResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "category",
            "in": "path",
            "required": true,
            "type": "string",
            "enum": [
              "PAYMENT_SURCHARGE"
            ]
          }
        ],
        "tags": [
          "SurchargeService"
        ]
      }
    },
    "/tiers": {
      "put": {
        "operationId": "ProductRatePlanChargeTierService_UpdateProductRatePlanChargeTier",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/UpdateProductRatePlanChargeTierResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/UpdateProductRatePlanChargeTierRequest"
            }
          }
        ],
        "tags": [
          "ProductRatePlanChargeTierService"
        ]
      }
    }
  },
  "definitions": {
    "Accounting": {
      "type": "object",
      "properties": {
        "accountingCode": {
          "type": "string"
        },
        "accountsReceivableAccount": {
          "type": "string"
        },
        "deferredRevenueAccount": {
          "type": "string"
        },
        "recognizedRevenueAccount": {
          "type": "string"
        },
        "adjustmentLiabilityAccountType": {
          "type": "string"
        },
        "adjustmentLiabilityAccount": {
          "type": "string"
        },
        "adjustmentRevenueAccountType": {
          "type": "string"
        },
        "adjustmentRevenueAccount": {
          "type": "string"
        },
        "contractAssetAccountType": {
          "type": "string"
        },
        "contractAssetAccount": {
          "type": "string"
        },
        "contractLiabilityAccountType": {
          "type": "string"
        },
        "contractLiabilityAccount": {
          "type": "string"
        },
        "contractRecognizedRevenueAccountType": {
          "type": "string"
        },
        "contractRecognizedRevenueAccount": {
          "type": "string"
        },
        "unbilledReceivablesAccountType": {
          "type": "string"
        },
        "unbilledReceivablesAccount": {
          "type": "string"
        },
        "deferredRevenueAccountingType": {
          "type": "string"
        },
        "recognizedRevenueAccountType": {
          "type": "string"
        },
        "accountsReceivableAccountType": {
          "type": "string"
        }
      }
    },
    "AggregatePlanRequest": {
      "type": "object",
      "properties": {
        "productKey": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "startDate": {
          "type": "string"
        },
        "endDate": {
          "type": "string"
        },
        "activeCurrencies": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "customFields": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/Value"
          }
        },
        "customObjects": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/Value"
          }
        },
        "labels": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "productRatePlanNumber": {
          "type": "string"
        },
        "externalRateplanId": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "externalIdSourceSystem": {
          "type": "string"
        },
        "grade": {
          "type": "integer",
          "format": "int32"
        },
        "entitlements": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/Entitlement"
          }
        },
        "netsuite": {
          "$ref": "#/definitions/RatePlanNetsuite"
        },
        "attributes": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/Attribute"
          }
        },
        "charges": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/ProductRatePlanChargeRequest"
          }
        }
      }
    },
    "AggregateProductRequest": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "productNumber": {
          "type": "string"
        },
        "sku": {
          "type": "string"
        },
        "startDate": {
          "type": "string"
        },
        "endDate": {
          "type": "string"
        },
        "category": {
          "$ref": "#/definitions/Category"
        },
        "netsuite": {
          "$ref": "#/definitions/ProductNetsuite"
        },
        "customFields": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/Value"
          }
        },
        "customObjects": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/Value"
          }
        },
        "allowFeatureChanges": {
          "type": "boolean"
        },
        "plans": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/AggregatePlanRequest"
          }
        },
        "features": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/CreateFeatureRequest"
          }
        }
      }
    },
    "Any": {
      "type": "object",
      "properties": {
        "@type": {
          "type": "string"
        }
      },
      "additionalProperties": {}
    },
    "Attribute": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "mapping": {
          "$ref": "#/definitions/Mapping"
        },
        "type": {
          "type": "string"
        }
      }
    },
    "AttributeCombination": {
      "type": "object",
      "properties": {
        "attributes": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/AttributeValue"
          }
        },
        "chargeDefinitions": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/ChargeDefinition"
          }
        }
      }
    },
    "AttributeValue": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "value": {
          "$ref": "#/definitions/Value"
        },
        "operator": {
          "type": "string"
        }
      }
    },
    "BillCycle": {
      "type": "object",
      "properties": {
        "type": {
          "$ref": "#/definitions/BillCycleType"
        },
        "dayOfMonth": {
          "type": "integer",
          "format": "int32",
          "title": "should this be an enum since its only 1-31?"
        },
        "dayOfWeek": {
          "$ref": "#/definitions/DayOfWeek"
        },
        "period": {
          "$ref": "#/definitions/BillCyclePeriod"
        },
        "specificPeriod": {
          "type": "string",
          "format": "int64"
        },
        "periodAlignment": {
          "$ref": "#/definitions/BillCyclePeriodAlignment"
        },
        "timing": {
          "$ref": "#/definitions/BillCycleTiming"
        }
      }
    },
    "BillCyclePeriod": {
      "type": "string",
      "enum": [
        "bill_cycle_period_undefined",
        "bill_cycle_period_month",
        "bill_cycle_period_quarter",
        "bill_cycle_period_semi_annual",
        "bill_cycle_period_annual",
        "bill_cycle_period_eighteen_months",
        "bill_cycle_period_two_years",
        "bill_cycle_period_three_years",
        "bill_cycle_period_five_years",
        "bill_cycle_period_specific_months",
        "bill_cycle_period_subscription_term",
        "bill_cycle_period_week",
        "bill_cycle_period_specific_weeks",
        "bill_cycle_period_specific_days"
      ],
      "default": "bill_cycle_period_undefined"
    },
    "BillCyclePeriodAlignment": {
      "type": "string",
      "enum": [
        "unspecified",
        "align_to_charge",
        "align_to_subscription_start",
        "align_to_term_start",
        "align_to_term_end"
      ],
      "default": "unspecified"
    },
    "BillCycleTiming": {
      "type": "string",
      "enum": [
        "in_advance",
        "in_arrears",
        "billing_timing_unspecified"
      ],
      "default": "in_advance"
    },
    "BillCycleType": {
      "type": "string",
      "enum": [
        "default_from_customer",
        "specific_day_of_month",
        "subscription_start_day",
        "charge_trigger_day",
        "specific_day_of_week",
        "term_start_day",
        "term_end_day"
      ],
      "default": "default_from_customer"
    },
    "BillingPeriod__NS": {
      "type": "string",
      "enum": [
        "billing_period_ns_monthly",
        "billing_period_ns_quarterly",
        "billing_period_ns_annual",
        "billing_period_ns_semi_annual",
        "billing_period_ns_unspecified"
      ],
      "default": "billing_period_ns_monthly"
    },
    "Category": {
      "type": "string",
      "enum": [
        "base",
        "add_on",
        "other"
      ],
      "default": "base"
    },
    "ChargeDefinition": {
      "type": "object",
      "properties": {
        "productRatePlanChargeNumber": {
          "type": "string"
        },
        "pricing": {
          "$ref": "#/definitions/Pricing"
        }
      }
    },
    "ChargeFunction": {
      "type": "string",
      "enum": [
        "charge_function_standard",
        "charge_function_prepayment",
        "charge_function_commitment_true_up",
        "charge_function_drawdown",
        "charge_function_drawdown_and_credit_commitment",
        "charge_function_credit_commitment"
      ],
      "default": "charge_function_standard"
    },
    "ChargeModel": {
      "type": "string",
      "enum": [
        "charge_model_unspecified",
        "flat_fee",
        "per_unit",
        "overage",
        "volume",
        "tiered",
        "tiered_overage",
        "discount_fixed_amount",
        "discount_percentage",
        "custom_charge_model",
        "delivery",
        "minimum_commitment_true_up",
        "high_water_mark_volume_pricing",
        "high_water_mark_tiered_pricing",
        "multi_attribute_pricing",
        "prerated_pricing",
        "prerated_per_unit"
      ],
      "default": "charge_model_unspecified"
    },
    "ChargeTier": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "title": "read-only"
        },
        "tier": {
          "type": "string",
          "format": "int64",
          "title": "read-only"
        },
        "startingUnit": {
          "type": "number",
          "format": "double"
        },
        "endingUnit": {
          "type": "number",
          "format": "double"
        },
        "price": {
          "type": "number",
          "format": "double"
        },
        "currency": {
          "type": "string"
        },
        "priceFormat": {
          "$ref": "#/definitions/PriceFormat"
        },
        "isOveragePrice": {
          "type": "boolean"
        },
        "createdById": {
          "type": "string",
          "title": "read-only"
        },
        "createdTime": {
          "type": "string",
          "title": "read-only"
        },
        "updatedById": {
          "type": "string",
          "title": "read-only"
        },
        "updatedTime": {
          "type": "string",
          "title": "read-only"
        }
      }
    },
    "ChargeType": {
      "type": "string",
      "enum": [
        "one_time",
        "recurring",
        "usage",
        "charge_type_unspecified"
      ],
      "default": "one_time"
    },
    "ColumnHierarchy": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "parent": {
          "type": "string"
        }
      }
    },
    "CommitmentUnitType": {
      "type": "string",
      "enum": [
        "unit",
        "currency"
      ],
      "default": "unit"
    },
    "CommonResponseWithError": {
      "type": "string"
    },
    "ContextField": {
      "type": "object",
      "properties": {
        "sourceColumn": {
          "type": "string"
        },
        "columnType": {
          "type": "string"
        },
        "sourceObject": {
          "type": "string"
        },
        "operator": {
          "type": "string"
        }
      }
    },
    "ContextInformation": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "value": {
          "$ref": "#/definitions/Value"
        },
        "object": {
          "type": "string"
        },
        "objectKey": {
          "type": "string"
        }
      }
    },
    "CreateChargeDefinitionsRequest": {
      "type": "object",
      "properties": {
        "productRatePlanNumber": {
          "type": "string"
        },
        "attributeCombinations": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/AttributeCombination"
          }
        }
      }
    },
    "CreateChargeSelectionContextRequest": {
      "type": "object",
      "properties": {
        "tenant": {
          "type": "string"
        },
        "contextName": {
          "type": "string"
        },
        "ratePlanId": {
          "type": "string"
        },
        "chargeId": {
          "type": "string"
        },
        "contextfields": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/ContextField"
          }
        },
        "columnHierarchy": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/ColumnHierarchy"
          }
        }
      }
    },
    "CreateChargeSelectionDecisionTableRequest": {
      "type": "object",
      "properties": {
        "tenant": {
          "type": "string"
        },
        "contextName": {
          "type": "string"
        },
        "ratePlanId": {
          "type": "string"
        },
        "chargeId": {
          "type": "string"
        },
        "contextFields": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/ContextField"
          }
        },
        "columnHierarchy": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/ColumnHierarchy"
          }
        },
        "createdBy": {
          "type": "string"
        },
        "createdTime": {
          "type": "string"
        },
        "updatedBy": {
          "type": "string"
        },
        "updatedTime": {
          "type": "string"
        }
      }
    },
    "CreateDiscountRequest": {
      "type": "object",
      "properties": {
        "discount": {
          "$ref": "#/definitions/DiscountRequest"
        }
      }
    },
    "CreateFeatureParams": {
      "type": "object",
      "properties": {
        "type": {
          "$ref": "#/definitions/ParamType"
        },
        "enumeration": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "nullable": {
          "type": "boolean"
        }
      }
    },
    "CreateFeatureRequest": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "featureNumber": {
          "type": "string"
        },
        "type": {
          "type": "string"
        },
        "startDate": {
          "type": "string"
        },
        "endDate": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "minimumQuantity": {
          "type": "number",
          "format": "double"
        },
        "maximumQuantity": {
          "type": "number",
          "format": "double"
        },
        "customFields": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/Value"
          }
        },
        "tags": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "entitlementParams": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/CreateFeatureParams"
          }
        },
        "unitOfMeasure": {
          "type": "string"
        },
        "policy": {
          "type": "string"
        },
        "fulfillmentMap": {
          "type": "string"
        },
        "intervalCount": {
          "type": "string",
          "format": "int64"
        },
        "interval": {
          "$ref": "#/definitions/Interval"
        },
        "defaultQuantity": {
          "type": "number",
          "format": "double"
        },
        "fulfillmentOptions": {
          "$ref": "#/definitions/FulfillmentMap"
        },
        "trialOptions": {
          "$ref": "#/definitions/TrialOptions"
        },
        "prices": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/FeaturePrice"
          }
        }
      }
    },
    "CreateProductChargeDefinitionRequest": {
      "type": "object",
      "properties": {
        "productRatePlanChargeId": {
          "type": "string"
        },
        "productRatePlanChargeNumber": {
          "type": "string"
        },
        "productRatePlanId": {
          "type": "string"
        },
        "productRatePlanNumber": {
          "type": "string"
        },
        "effectiveStartDate": {
          "type": "string"
        },
        "effectiveEndDate": {
          "type": "string"
        },
        "listPriceBase": {
          "$ref": "#/definitions/ListPriceBase"
        },
        "specificListPriceBase": {
          "type": "integer",
          "format": "int32"
        },
        "period": {
          "$ref": "#/definitions/BillCyclePeriod"
        },
        "specificPeriod": {
          "type": "string",
          "format": "int64"
        },
        "taxable": {
          "type": "boolean"
        },
        "taxCode": {
          "type": "string"
        },
        "taxMode": {
          "$ref": "#/definitions/TaxMode"
        },
        "termPeriodType": {
          "$ref": "#/definitions/TermPeriodType"
        },
        "termType": {
          "$ref": "#/definitions/TermType"
        },
        "term": {
          "type": "string",
          "format": "int64"
        },
        "unitOfMeasure": {
          "type": "string"
        },
        "defaultQuantity": {
          "type": "number",
          "format": "double"
        },
        "chargeModel": {
          "$ref": "#/definitions/ChargeModel"
        },
        "pricing": {
          "$ref": "#/definitions/Pricing"
        },
        "customFields": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/Value"
          }
        },
        "externalUuid": {
          "type": "string"
        }
      }
    },
    "CreateProductRatePlanDefinitionRequest": {
      "type": "object",
      "properties": {
        "productRatePlanId": {
          "type": "string"
        },
        "productRatePlanNumber": {
          "type": "string"
        },
        "productRatePlanChargeId": {
          "type": "string"
        },
        "productRatePlanChargeNumber": {
          "type": "string"
        },
        "startDate": {
          "type": "string"
        },
        "endDate": {
          "type": "string"
        },
        "externalUuid": {
          "type": "string"
        }
      }
    },
    "CreateSurchargeRequest": {
      "type": "object",
      "properties": {
        "surchargeNumber": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "chargeModel": {
          "$ref": "#/definitions/ChargeModel"
        },
        "customFields": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/Value"
          }
        },
        "attributes": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/Attribute"
          }
        },
        "category": {
          "$ref": "#/definitions/SurchargeCategory"
        },
        "data": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/SurchargeAttributeCombination"
          }
        },
        "taxCode": {
          "type": "string"
        },
        "taxMode": {
          "$ref": "#/definitions/TaxMode"
        },
        "reversible": {
          "type": "boolean"
        },
        "accounting": {
          "$ref": "#/definitions/Accounting"
        },
        "revenue": {
          "$ref": "#/definitions/Revenue"
        }
      }
    },
    "CreditOption": {
      "type": "string",
      "enum": [
        "time_based",
        "consumption_based",
        "full_credit_back",
        "credit_option_unspecified"
      ],
      "default": "time_based"
    },
    "DayOfWeek": {
      "type": "string",
      "enum": [
        "day_of_week_unspecified",
        "sunday",
        "monday",
        "tuesday",
        "wednesday",
        "thursday",
        "friday",
        "saturday"
      ],
      "default": "day_of_week_unspecified"
    },
    "DebugPriceResponse": {
      "type": "object",
      "properties": {
        "data": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/SurchargeAttributeCombination"
          }
        }
      }
    },
    "DeleteDiscountResponse": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "error": {
          "$ref": "#/definitions/ErrorResponse"
        }
      }
    },
    "DeleteFeatureResponse": {
      "type": "string"
    },
    "DeleteProductChargeDefinitionResponse": {
      "type": "string"
    },
    "DeleteProductRatePlanChargeResponse": {
      "type": "string"
    },
    "DeleteProductRatePlanResponse": {
      "type": "string"
    },
    "DeleteProductResponse": {
      "type": "string"
    },
    "DeleteSurchargeResponse": {
      "type": "string"
    },
    "DeliveryFrequency": {
      "type": "string",
      "enum": [
        "weekly",
        "delivery_frequency_unspecified"
      ],
      "default": "weekly"
    },
    "DeliverySchedule": {
      "type": "object",
      "properties": {
        "frequency": {
          "$ref": "#/definitions/DeliveryFrequency"
        },
        "monday": {
          "type": "boolean"
        },
        "tuesday": {
          "type": "boolean"
        },
        "wednesday": {
          "type": "boolean"
        },
        "thursday": {
          "type": "boolean"
        },
        "friday": {
          "type": "boolean"
        },
        "saturday": {
          "type": "boolean"
        },
        "sunday": {
          "type": "boolean"
        }
      }
    },
    "Discount": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "discountNumber": {
          "type": "string"
        },
        "createdById": {
          "type": "string"
        },
        "createdTime": {
          "type": "string"
        },
        "updatedById": {
          "type": "string"
        },
        "updatedTime": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "applyTo": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ChargeType"
          }
        },
        "billCycle": {
          "$ref": "#/definitions/BillCycle"
        },
        "chargeModel": {
          "$ref": "#/definitions/DiscountChargeModel"
        },
        "type": {
          "$ref": "#/definitions/DiscountType"
        },
        "discountLevel": {
          "$ref": "#/definitions/DiscountLevel"
        },
        "endDateCondition": {
          "$ref": "#/definitions/EndDateCondition"
        },
        "discountClass": {
          "type": "string"
        },
        "stackedDiscount": {
          "type": "boolean"
        },
        "amounts": {
          "type": "object",
          "additionalProperties": {
            "type": "number",
            "format": "double"
          }
        },
        "percent": {
          "type": "number",
          "format": "double"
        },
        "upToPeriodsType": {
          "$ref": "#/definitions/UpToPeriodsType"
        },
        "upToPeriods": {
          "type": "integer",
          "format": "int32"
        },
        "customFields": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/Value"
          }
        },
        "productRatePlanId": {
          "type": "string"
        },
        "productRatePlanNumber": {
          "type": "string"
        }
      }
    },
    "DiscountAccounting": {
      "type": "object",
      "properties": {
        "accountingCode": {
          "type": "string"
        }
      }
    },
    "DiscountApplyDetails": {
      "type": "object",
      "properties": {
        "appliedProductRatePlanChargeId": {
          "type": "string"
        },
        "appliedProductRatePlanId": {
          "type": "string"
        }
      }
    },
    "DiscountChargeModel": {
      "type": "string",
      "enum": [
        "fixed_amount",
        "percentage"
      ],
      "default": "fixed_amount"
    },
    "DiscountExpand": {
      "type": "object",
      "properties": {
        "customObjects": {
          "type": "boolean"
        },
        "productChargeDefinitions": {
          "type": "boolean"
        }
      }
    },
    "DiscountFields": {
      "type": "string",
      "enum": [
        "discount_id",
        "discount_discount_number",
        "discount_created_by_id",
        "discount_created_time",
        "discount_updated_by_id",
        "discount_updated_time",
        "discount_name",
        "discount_description",
        "discount_apply_to",
        "discount_bill_cycle",
        "discount_charge_model",
        "discount_type",
        "discount_discount_level",
        "discount_end_date_condition",
        "discount_discount_class",
        "discount_stacked_discount",
        "discount_percent",
        "discount_up_to_periods_type",
        "discount_up_to_periods"
      ],
      "default": "discount_id"
    },
    "DiscountFilter": {
      "type": "object",
      "properties": {
        "customField": {
          "type": "string"
        },
        "field": {
          "$ref": "#/definitions/DiscountFields"
        },
        "operator": {
          "$ref": "#/definitions/FilterOperator"
        },
        "value": {
          "$ref": "#/definitions/Value"
        }
      }
    },
    "DiscountLevel": {
      "type": "string",
      "enum": [
        "discount_level_unspecified",
        "rate_plan",
        "subscription",
        "account"
      ],
      "default": "discount_level_unspecified"
    },
    "DiscountOptions": {
      "type": "object",
      "properties": {
        "discountClass": {
          "type": "string"
        },
        "stackedDiscount": {
          "type": "boolean"
        },
        "applyTo": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ChargeType"
          }
        },
        "discountLevel": {
          "$ref": "#/definitions/DiscountLevel"
        },
        "applyToBillingPeriodPartially": {
          "type": "boolean"
        },
        "specificAccountingCodes": {
          "type": "boolean"
        },
        "applyDetails": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/DiscountApplyDetails"
          }
        },
        "rollover": {
          "type": "boolean"
        },
        "reflectDiscountInNetAmount": {
          "type": "boolean"
        }
      }
    },
    "DiscountRequest": {
      "type": "object",
      "properties": {
        "discountNumber": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "applyTo": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ChargeType"
          }
        },
        "billCycle": {
          "$ref": "#/definitions/BillCycle"
        },
        "chargeModel": {
          "$ref": "#/definitions/DiscountChargeModel"
        },
        "type": {
          "$ref": "#/definitions/DiscountType"
        },
        "discountLevel": {
          "$ref": "#/definitions/DiscountLevel"
        },
        "endDateCondition": {
          "$ref": "#/definitions/EndDateCondition"
        },
        "discountClass": {
          "type": "string"
        },
        "stackedDiscount": {
          "type": "boolean"
        },
        "amounts": {
          "type": "object",
          "additionalProperties": {
            "type": "number",
            "format": "double"
          }
        },
        "percent": {
          "type": "number",
          "format": "double"
        },
        "upToPeriodsType": {
          "$ref": "#/definitions/UpToPeriodsType"
        },
        "upToPeriods": {
          "type": "integer",
          "format": "int32"
        },
        "customFields": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/Value"
          }
        },
        "accounting": {
          "$ref": "#/definitions/DiscountAccounting"
        },
        "productRatePlanId": {
          "type": "string"
        },
        "productRatePlanNumber": {
          "type": "string"
        }
      }
    },
    "DiscountResponse": {},
    "DiscountType": {
      "type": "string",
      "enum": [
        "one_time_discount",
        "recurring_discount"
      ],
      "default": "one_time_discount"
    },
    "DoubleValue": {
      "type": "object",
      "properties": {
        "doubleValue": {
          "type": "number",
          "format": "double"
        }
      }
    },
    "Drawdown": {
      "type": "object",
      "properties": {
        "unitOfMeasure": {
          "type": "string"
        },
        "conversionRate": {
          "type": "number",
          "format": "double"
        }
      }
    },
    "EffectiveDatingQueryOption": {
      "type": "string",
      "enum": [
        "MOST_RECENT_REVISION",
        "ALL_REVISIONS",
        "REVISION_AT_SPECIFIC_TIME"
      ],
      "default": "MOST_RECENT_REVISION"
    },
    "EffectiveDatingUpdateOption": {
      "type": "string",
      "enum": [
        "PROMOTIONAL_PRICE",
        "LIMITING_LIFE"
      ],
      "default": "PROMOTIONAL_PRICE"
    },
    "EndDateCondition": {
      "type": "string",
      "enum": [
        "subscription_end",
        "end_date_one_time",
        "fixed_period",
        "specific_end_date"
      ],
      "default": "subscription_end"
    },
    "Entitlement": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "createdBy": {
          "type": "string"
        },
        "createdTime": {
          "type": "string"
        },
        "updatedBy": {
          "type": "string"
        },
        "updatedTime": {
          "type": "string"
        },
        "productRatePlanId": {
          "type": "string"
        },
        "featureNumber": {
          "type": "string"
        },
        "startDate": {
          "type": "string"
        },
        "endDate": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "customFields": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/Value"
          }
        },
        "tags": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "entitlementParams": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "feature": {
          "$ref": "#/definitions/Feature"
        },
        "intervalCount": {
          "type": "string",
          "format": "int64"
        },
        "interval": {
          "$ref": "#/definitions/Interval"
        },
        "quantity": {
          "type": "number",
          "format": "double"
        },
        "entitlementNumber": {
          "type": "string"
        },
        "trialOptions": {
          "$ref": "#/definitions/TrialOptions"
        }
      }
    },
    "Error": {
      "type": "object",
      "properties": {
        "code": {
          "$ref": "#/definitions/ErrorCode"
        },
        "message": {
          "type": "string"
        },
        "locale": {
          "type": "string"
        },
        "localizedMessage": {
          "type": "string"
        },
        "parameter": {
          "type": "string"
        }
      }
    },
    "ErrorCode": {
      "type": "string",
      "enum": [
        "invalid_parameter",
        "invalid_parameter_integer",
        "invalid_parameter_number",
        "invalid_parameter_boolean",
        "invalid_parameter_string",
        "unknown_parameter",
        "missing_parameter",
        "parameters_exclusive",
        "invalid_request",
        "not_found",
        "already_exists",
        "card_error",
        "authorization_token_expired",
        "resource_not_found",
        "in_use",
        "invalid_value",
        "delete_not_allowed",
        "unexpected_error",
        "db_error"
      ],
      "default": "invalid_parameter"
    },
    "ErrorResponse": {
      "type": "object",
      "properties": {
        "type": {
          "$ref": "#/definitions/ErrorType"
        },
        "errors": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/Error"
          }
        }
      }
    },
    "ErrorType": {
      "type": "string",
      "enum": [
        "bad_request",
        "unauthorized",
        "forbidden",
        "method_not_allowed",
        "conflict",
        "not_found",
        "locked",
        "too_many_requests",
        "internal_server_error",
        "idempotency_key_in_use",
        "request_failed",
        "request_timeout",
        "gateway_timeout",
        "payment_gateway_timeout",
        "payment_gateway_unavailable",
        "payment_gateway_error",
        "not_implemented",
        "duplicate_value",
        "missing_parameter",
        "invalid_field"
      ],
      "default": "bad_request"
    },
    "ExpressionType": {
      "type": "string",
      "enum": [
        "JAVASCRIPT",
        "DECISION_TABLE",
        "DECISION_TREE",
        "MVEL"
      ],
      "default": "JAVASCRIPT"
    },
    "Feature": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "createdBy": {
          "type": "string"
        },
        "createdTime": {
          "type": "string"
        },
        "updatedBy": {
          "type": "string"
        },
        "updatedTime": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "featureNumber": {
          "type": "string"
        },
        "type": {
          "$ref": "#/definitions/FeatureType"
        },
        "startDate": {
          "type": "string"
        },
        "endDate": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "minimumQuantity": {
          "type": "number",
          "format": "double"
        },
        "maximumQuantity": {
          "type": "number",
          "format": "double"
        },
        "customFields": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/Value"
          }
        },
        "tags": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "unitOfMeasure": {
          "type": "string"
        },
        "policy": {
          "type": "string"
        },
        "entitlementParams": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/CreateFeatureParams"
          },
          "title": "optional string fulfillment_map = 19;"
        },
        "intervalCount": {
          "type": "string",
          "format": "int64"
        },
        "interval": {
          "$ref": "#/definitions/Interval"
        },
        "defaultQuantity": {
          "type": "number",
          "format": "double"
        },
        "fulfillmentOptions": {
          "$ref": "#/definitions/FulfillmentMap"
        },
        "trialOptions": {
          "$ref": "#/definitions/TrialOptions"
        }
      }
    },
    "FeaturePrice": {
      "type": "object",
      "properties": {
        "type": {
          "$ref": "#/definitions/ChargeType"
        },
        "intervalCount": {
          "type": "number",
          "format": "double"
        },
        "interval": {
          "$ref": "#/definitions/Interval"
        },
        "listPrice": {
          "type": "object",
          "additionalProperties": {
            "type": "number",
            "format": "double"
          }
        }
      }
    },
    "FeatureResponse": {},
    "FeatureType": {
      "type": "string",
      "enum": [
        "none",
        "metered",
        "unmetered"
      ],
      "default": "none"
    },
    "FilterOperator": {
      "type": "string",
      "enum": [
        "EQ",
        "NE",
        "LT",
        "GT",
        "SW",
        "IN"
      ],
      "default": "EQ"
    },
    "FulfillmentMap": {
      "type": "object",
      "properties": {
        "acquire": {
          "$ref": "#/definitions/FulfilmentActionOptions"
        },
        "add": {
          "$ref": "#/definitions/FulfilmentActionOptions"
        },
        "cancel": {
          "$ref": "#/definitions/FulfilmentActionOptions"
        },
        "suspend": {
          "$ref": "#/definitions/FulfilmentActionOptions"
        },
        "resume": {
          "$ref": "#/definitions/FulfilmentActionOptions"
        },
        "remove": {
          "$ref": "#/definitions/FulfilmentActionOptions"
        }
      }
    },
    "FulfilmentActionOptions": {
      "type": "object",
      "properties": {
        "process": {
          "type": "string"
        },
        "offset": {
          "type": "string"
        },
        "params": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        }
      }
    },
    "GetEntitlementBySubscriptionRequest": {
      "type": "object",
      "properties": {
        "subscriptionKey": {
          "type": "string"
        },
        "featureKey": {
          "type": "string"
        }
      }
    },
    "GetPlanChargesByContextRequest": {
      "type": "object",
      "properties": {
        "tenant": {
          "type": "string"
        },
        "ratePlanId": {
          "type": "string"
        },
        "contextmap": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/Value"
          }
        },
        "contextName": {
          "type": "string"
        }
      }
    },
    "GetPlanChargesByContextRequestv2": {
      "type": "object",
      "properties": {
        "tenant": {
          "type": "string"
        },
        "contextmap": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/Value"
          }
        },
        "contextName": {
          "type": "string"
        }
      }
    },
    "GetPrice": {
      "type": "object",
      "properties": {
        "finalPrice": {
          "type": "number",
          "format": "double"
        }
      }
    },
    "GetPriceRequest": {
      "type": "object",
      "properties": {
        "tenant": {
          "type": "string"
        },
        "chargeId": {
          "type": "string"
        },
        "quantity": {
          "type": "number",
          "format": "double"
        },
        "currency": {
          "type": "string"
        },
        "context": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/Value"
          }
        },
        "cumulativeQuantity": {
          "type": "number",
          "format": "double"
        }
      }
    },
    "GetPriceResponse": {},
    "GetProductChargeDefinitionRequest": {
      "type": "object",
      "properties": {
        "chargeDefinitionKey": {
          "type": "string"
        },
        "hideInheritedValues": {
          "type": "boolean"
        },
        "effectiveDatingQueryOption": {
          "$ref": "#/definitions/EffectiveDatingQueryOption"
        },
        "time": {
          "type": "string"
        }
      }
    },
    "GetProductChargeDefinitionsRequest": {
      "type": "object",
      "properties": {
        "charge": {
          "type": "string"
        },
        "page": {
          "type": "integer",
          "format": "int32"
        },
        "pageSize": {
          "type": "integer",
          "format": "int32"
        },
        "hideInheritedValues": {
          "type": "boolean"
        }
      }
    },
    "GetProductRatePlanChargeRequest": {
      "type": "object",
      "properties": {
        "productRatePlanChargeKey": {
          "type": "string"
        },
        "attributes": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/ContextInformation"
          }
        }
      }
    },
    "GetProductRatePlanRequest": {
      "type": "object",
      "properties": {
        "productRatePlanKey": {
          "type": "string"
        },
        "attributes": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/ContextInformation"
          }
        }
      }
    },
    "GetSurchargeByCategoryRequest": {
      "type": "object",
      "properties": {
        "category": {
          "$ref": "#/definitions/SurchargeCategory"
        },
        "attributes": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/ContextInformation"
          }
        },
        "baseAmount": {
          "type": "number",
          "format": "double"
        },
        "currency": {
          "type": "string"
        },
        "surchargeKey": {
          "type": "string"
        }
      }
    },
    "GetSurchargeRequest": {
      "type": "object",
      "properties": {
        "surchargeKey": {
          "type": "string"
        },
        "attributes": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/ContextInformation"
          }
        },
        "baseAmount": {
          "type": "number",
          "format": "double"
        },
        "currency": {
          "type": "string"
        }
      }
    },
    "IncludeChildren_NS": {
      "type": "string",
      "enum": [
        "yes",
        "no"
      ],
      "default": "yes"
    },
    "Interval": {
      "type": "string",
      "enum": [
        "interval_unspecified",
        "interval_day",
        "interval_week",
        "interval_month",
        "interval_year",
        "interval_term"
      ],
      "default": "interval_unspecified"
    },
    "ItemType_NS": {
      "type": "string",
      "enum": [
        "inventory",
        "non_inventory",
        "service"
      ],
      "default": "inventory"
    },
    "ListPriceBase": {
      "type": "string",
      "enum": [
        "Per_Billing_Period",
        "Per_Month",
        "Per_Week",
        "Per_Year",
        "Per_Specific_Months",
        "Per_Validity_Period"
      ],
      "default": "Per_Billing_Period"
    },
    "ListPriceResponse": {
      "type": "object",
      "properties": {
        "data": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/AttributeCombination"
          }
        }
      }
    },
    "ListValue": {
      "type": "object",
      "properties": {
        "values": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/Value"
          }
        }
      }
    },
    "Mapping": {
      "type": "object",
      "properties": {
        "object": {
          "type": "string"
        },
        "field": {
          "type": "string"
        }
      }
    },
    "MigrateToAbpV2Request": {
      "type": "object",
      "properties": {
        "productRatePlanNumber": {
          "type": "string"
        },
        "attributes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "Netsuite": {
      "type": "object",
      "properties": {
        "ClassNS": {
          "type": "string"
        },
        "DeferredRevAccountNS": {
          "type": "string"
        },
        "DepartmentNS": {
          "type": "string"
        },
        "IncludeChildrenNS": {
          "$ref": "#/definitions/IncludeChildren_NS"
        },
        "IntegrationIdNS": {
          "type": "string"
        },
        "IntegrationStatusNS": {
          "type": "string"
        },
        "ItemTypeNS": {
          "$ref": "#/definitions/ItemType_NS"
        },
        "LocationNS": {
          "type": "string"
        },
        "RecognizedRevAccountNS": {
          "type": "string"
        },
        "RevRecEndNS": {
          "$ref": "#/definitions/RevRecEnd__NS"
        },
        "RevRecStartNS": {
          "$ref": "#/definitions/RevRecStart__NS"
        },
        "RevRecTemplateTypeNS": {
          "$ref": "#/definitions/TemplateType__NS"
        },
        "SubsidiaryNS": {
          "type": "string"
        },
        "SyncDateNS": {
          "type": "string"
        }
      }
    },
    "NullValue": {
      "type": "string",
      "enum": [
        "NULL_VALUE"
      ],
      "default": "NULL_VALUE"
    },
    "OverageCalculationOption": {
      "type": "string",
      "enum": [
        "end_of_smoothing_period",
        "per_billing_period"
      ],
      "default": "end_of_smoothing_period"
    },
    "OverageOptions": {
      "type": "object",
      "properties": {
        "includedUnits": {
          "type": "number",
          "format": "double"
        },
        "numberOfPeriods": {
          "type": "integer",
          "format": "int32"
        },
        "smoothingModel": {
          "$ref": "#/definitions/OverageSmoothingModel"
        },
        "calculationOption": {
          "$ref": "#/definitions/OverageCalculationOption"
        },
        "unusedUnitsCreditOption": {
          "$ref": "#/definitions/OverageUnusedUnitsCreditOption"
        }
      }
    },
    "OverageSmoothingModel": {
      "type": "string",
      "enum": [
        "rolling_window",
        "rollover"
      ],
      "default": "rolling_window"
    },
    "OverageUnusedUnitsCreditOption": {
      "type": "string",
      "enum": [
        "no_credit",
        "credit_by_specific_rate"
      ],
      "default": "no_credit"
    },
    "Pagination": {
      "type": "object",
      "properties": {
        "page": {
          "type": "integer",
          "format": "int32"
        },
        "pageSize": {
          "type": "integer",
          "format": "int32"
        }
      }
    },
    "ParamType": {
      "type": "string",
      "enum": [
        "type_any",
        "type_string",
        "type_enum",
        "type_integer",
        "type_number",
        "type_object",
        "type_boolean",
        "type_array"
      ],
      "default": "type_any"
    },
    "PlansAggregateResponse": {},
    "PrepaidOperationType": {
      "type": "string",
      "enum": [
        "prepaid_operation_type_unspecified",
        "prepaid_operation_type_topup",
        "prepaid_operation_type_drawdown",
        "prepaid_operation_type_currency_credit",
        "prepaid_operation_type_drawdown_currency"
      ],
      "default": "prepaid_operation_type_unspecified",
      "title": "- prepaid_operation_type_currency_credit: Deprecated"
    },
    "Prepayment": {
      "type": "object",
      "properties": {
        "creditOption": {
          "$ref": "#/definitions/CreditOption"
        },
        "rollover": {
          "type": "boolean"
        },
        "totalQuantity": {
          "type": "number",
          "format": "double"
        },
        "unitOfMeasure": {
          "type": "string"
        },
        "rolloverApply": {
          "$ref": "#/definitions/RolloverApply"
        },
        "rolloverPeriods": {
          "type": "integer",
          "format": "int32"
        },
        "validityPeriod": {
          "$ref": "#/definitions/ValidityPeriodType"
        },
        "quantity": {
          "type": "number",
          "format": "double"
        },
        "rolloverPeriodLength": {
          "type": "integer",
          "format": "int32"
        },
        "prepayPeriods": {
          "type": "string",
          "format": "int64",
          "title": "Deprecated and removed from docs. Only available for backward compatibility"
        },
        "operationType": {
          "$ref": "#/definitions/PrepaidOperationType"
        }
      }
    },
    "PriceChangeOption": {
      "type": "string",
      "enum": [
        "no_change",
        "specific_percentage_value",
        "use_latest_product_catalog_pricing"
      ],
      "default": "no_change"
    },
    "PriceFormat": {
      "type": "string",
      "enum": [
        "price_format_flat_fee",
        "price_format_per_unit"
      ],
      "default": "price_format_flat_fee"
    },
    "Pricing": {
      "type": "object",
      "properties": {
        "flatAmounts": {
          "type": "object",
          "additionalProperties": {
            "type": "number",
            "format": "double"
          }
        },
        "unitAmounts": {
          "type": "object",
          "additionalProperties": {
            "type": "number",
            "format": "double"
          }
        },
        "tiers": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/Tier"
          }
        },
        "tierMode": {
          "$ref": "#/definitions/TierMode"
        },
        "discountAmounts": {
          "type": "object",
          "additionalProperties": {
            "type": "number",
            "format": "double"
          }
        },
        "discountPercentage": {
          "type": "number",
          "format": "double"
        }
      }
    },
    "Product": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "createdBy": {
          "type": "string"
        },
        "createdTime": {
          "type": "string"
        },
        "updatedBy": {
          "type": "string"
        },
        "updatedTime": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "productNumber": {
          "type": "string"
        },
        "sku": {
          "type": "string"
        },
        "startDate": {
          "type": "string"
        },
        "endDate": {
          "type": "string"
        },
        "category": {
          "$ref": "#/definitions/Category"
        },
        "customFields": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/Value"
          }
        },
        "customObjects": {
          "$ref": "#/definitions/Struct"
        },
        "productRatePlans": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/ProductRatePlan"
          }
        },
        "allowFeatureChanges": {
          "type": "boolean"
        },
        "features": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/Feature"
          }
        },
        "netsuite": {
          "$ref": "#/definitions/ProductNetsuite"
        }
      }
    },
    "ProductAggregate": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "createdBy": {
          "type": "string"
        },
        "createdTime": {
          "type": "string"
        },
        "updatedBy": {
          "type": "string"
        },
        "updatedTime": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "productNumber": {
          "type": "string"
        },
        "sku": {
          "type": "string"
        },
        "startDate": {
          "type": "string"
        },
        "endDate": {
          "type": "string"
        },
        "category": {
          "$ref": "#/definitions/Category"
        },
        "customFields": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/Value"
          }
        },
        "customObjects": {
          "$ref": "#/definitions/Struct"
        },
        "plans": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/ProductRatePlan"
          }
        },
        "allowFeatureChanges": {
          "type": "boolean"
        },
        "netsuite": {
          "$ref": "#/definitions/ProductNetsuite"
        },
        "features": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/Feature"
          }
        }
      }
    },
    "ProductAggregateResponse": {},
    "ProductChargeDefinition": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "productChargeDefinitionNumber": {
          "type": "string"
        },
        "isDefault": {
          "type": "boolean"
        },
        "createdById": {
          "type": "string"
        },
        "createdTime": {
          "type": "string"
        },
        "updatedById": {
          "type": "string"
        },
        "updatedTime": {
          "type": "string"
        },
        "productRatePlanId": {
          "type": "string"
        },
        "productRatePlanNumber": {
          "type": "string"
        },
        "productRatePlanChargeId": {
          "type": "string"
        },
        "productRatePlanChargeNumber": {
          "type": "string"
        },
        "effectiveStartDate": {
          "type": "string"
        },
        "effectiveEndDate": {
          "type": "string"
        },
        "chargeModel": {
          "$ref": "#/definitions/ChargeModel"
        },
        "listPriceBase": {
          "$ref": "#/definitions/ListPriceBase"
        },
        "specificListPriceBase": {
          "type": "integer",
          "format": "int32"
        },
        "defaultQuantity": {
          "type": "number",
          "format": "double"
        },
        "taxable": {
          "type": "boolean"
        },
        "taxCode": {
          "type": "string"
        },
        "taxMode": {
          "$ref": "#/definitions/TaxMode"
        },
        "unitOfMeasure": {
          "type": "string"
        },
        "triggerEvent": {
          "$ref": "#/definitions/TriggerEvent"
        },
        "endDateCondition": {
          "$ref": "#/definitions/EndDateCondition"
        },
        "upToPeriodsType": {
          "$ref": "#/definitions/UpToPeriodsType"
        },
        "upToPeriods": {
          "type": "integer",
          "format": "int32"
        },
        "billCycle": {
          "$ref": "#/definitions/BillCycle"
        },
        "accounting": {
          "$ref": "#/definitions/Accounting"
        },
        "revenue": {
          "$ref": "#/definitions/Revenue"
        },
        "prepayment": {
          "$ref": "#/definitions/Prepayment"
        },
        "drawdown": {
          "$ref": "#/definitions/Drawdown"
        },
        "prepaid": {
          "type": "boolean"
        },
        "deliverySchedule": {
          "$ref": "#/definitions/DeliverySchedule"
        },
        "ratingGroup": {
          "$ref": "#/definitions/RatingGroup"
        },
        "usageRecordRatingOption": {
          "$ref": "#/definitions/UsageRecordRatingOption"
        },
        "overageOptions": {
          "$ref": "#/definitions/OverageOptions"
        },
        "termPeriodType": {
          "$ref": "#/definitions/TermPeriodType"
        },
        "termType": {
          "$ref": "#/definitions/TermType"
        },
        "term": {
          "type": "string",
          "format": "int64"
        },
        "pricing": {
          "$ref": "#/definitions/Pricing"
        },
        "customFields": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/Value"
          }
        }
      }
    },
    "ProductChargeDefinitionResponse": {},
    "ProductChargeDefinitionWithRevisions": {
      "type": "object",
      "properties": {
        "chargeDefinition": {
          "$ref": "#/definitions/ProductChargeDefinition"
        },
        "revisions": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/ProductChargeDefinition"
          }
        }
      }
    },
    "ProductChargeDefinitions": {
      "type": "object",
      "properties": {
        "chargeDefinitions": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/ProductChargeDefinition"
          }
        }
      }
    },
    "ProductChargeDefinitionsResponse": {},
    "ProductExpand": {
      "type": "object",
      "properties": {
        "customObjects": {
          "type": "boolean"
        },
        "productRatePlans": {
          "type": "boolean"
        },
        "productRatePlanCharges": {
          "type": "boolean"
        },
        "productChargeDefinitions": {
          "type": "boolean"
        }
      }
    },
    "ProductFields": {
      "type": "string",
      "enum": [
        "id",
        "createdBy",
        "createdTime",
        "updatedBy",
        "updatedTime",
        "name",
        "description",
        "productNumber",
        "sku",
        "startDate",
        "endDate",
        "category",
        "customFields",
        "customObjects",
        "idOrSKUOrNumber"
      ],
      "default": "id"
    },
    "ProductFilter": {
      "type": "object",
      "properties": {
        "field": {
          "$ref": "#/definitions/ProductFields"
        },
        "customField": {
          "type": "string"
        },
        "operator": {
          "$ref": "#/definitions/FilterOperator"
        },
        "value": {
          "$ref": "#/definitions/Value"
        }
      }
    },
    "ProductNetsuite": {
      "type": "object",
      "properties": {
        "IntegrationIdNS": {
          "type": "string"
        },
        "IntegrationStatusNS": {
          "type": "string"
        },
        "ItemTypeNS": {
          "$ref": "#/definitions/ItemType_NS"
        },
        "SyncDateNS": {
          "type": "string"
        }
      }
    },
    "ProductRatePlan": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "createdBy": {
          "type": "string"
        },
        "createTime": {
          "type": "string"
        },
        "updatedBy": {
          "type": "string"
        },
        "updateTime": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "displayName": {
          "type": "string"
        },
        "startDate": {
          "type": "string"
        },
        "endDate": {
          "type": "string"
        },
        "activeCurrencies": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "state": {
          "$ref": "#/definitions/RatePlanState"
        },
        "productId": {
          "type": "string"
        },
        "productRatePlanCharges": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/ProductRatePlanCharge"
          }
        },
        "customFields": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/Value"
          }
        },
        "externalRateplanId": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "grade": {
          "type": "integer",
          "format": "int32"
        },
        "externalIdSourceSystem": {
          "type": "string"
        },
        "productRatePlanNumber": {
          "type": "string"
        },
        "entitlements": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/Entitlement"
          }
        },
        "netsuite": {
          "$ref": "#/definitions/RatePlanNetsuite"
        },
        "attributes": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/Attribute"
          }
        }
      }
    },
    "ProductRatePlanCharge": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "productRatePlanChargeNumber": {
          "type": "string"
        },
        "createdById": {
          "type": "string"
        },
        "createdTime": {
          "type": "string"
        },
        "updatedById": {
          "type": "string"
        },
        "updatedTime": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "billCycle": {
          "$ref": "#/definitions/BillCycle"
        },
        "chargeModel": {
          "$ref": "#/definitions/ChargeModel"
        },
        "chargeType": {
          "$ref": "#/definitions/ChargeType"
        },
        "defaultQuantity": {
          "type": "number",
          "format": "double"
        },
        "maxQuantity": {
          "type": "number",
          "format": "double"
        },
        "minQuantity": {
          "type": "number",
          "format": "double"
        },
        "taxCode": {
          "type": "string"
        },
        "taxMode": {
          "$ref": "#/definitions/TaxMode"
        },
        "unitOfMeasure": {
          "type": "string"
        },
        "pricing": {
          "$ref": "#/definitions/Pricing"
        },
        "triggerEvent": {
          "$ref": "#/definitions/TriggerEvent"
        },
        "endDateCondition": {
          "$ref": "#/definitions/EndDateCondition"
        },
        "upToPeriodsType": {
          "$ref": "#/definitions/UpToPeriodsType"
        },
        "upToPeriods": {
          "type": "integer",
          "format": "int32"
        },
        "listPriceBase": {
          "$ref": "#/definitions/ListPriceBase"
        },
        "specificListPriceBase": {
          "type": "integer",
          "format": "int32"
        },
        "customFields": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/Value"
          }
        },
        "netsuite": {
          "$ref": "#/definitions/Netsuite"
        },
        "accounting": {
          "$ref": "#/definitions/Accounting"
        },
        "revenue": {
          "$ref": "#/definitions/Revenue"
        },
        "prepayment": {
          "$ref": "#/definitions/Prepayment"
        },
        "drawdown": {
          "$ref": "#/definitions/Drawdown"
        },
        "prepaid": {
          "type": "boolean"
        },
        "deliverySchedule": {
          "$ref": "#/definitions/DeliverySchedule"
        },
        "priceIncreasePercentage": {
          "type": "number",
          "format": "double"
        },
        "priceChangeOption": {
          "$ref": "#/definitions/PriceChangeOption"
        },
        "useTenantDefaultForPriceChange": {
          "type": "boolean"
        },
        "ratingGroup": {
          "$ref": "#/definitions/RatingGroup"
        },
        "usageRecordRatingOption": {
          "$ref": "#/definitions/UsageRecordRatingOption"
        },
        "overageOptions": {
          "$ref": "#/definitions/OverageOptions"
        },
        "labels": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "productChargeDefinitions": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/ProductChargeDefinition"
          }
        },
        "productRatePlanId": {
          "type": "string"
        },
        "discountOptions": {
          "$ref": "#/definitions/DiscountOptions"
        },
        "customFieldId": {
          "type": "string",
          "format": "int64",
          "title": "Shouldn't be exposed to customers"
        },
        "formula": {
          "type": "string"
        },
        "productCategory": {
          "type": "string"
        },
        "productClass": {
          "type": "string"
        },
        "productFamily": {
          "type": "string"
        },
        "productLine": {
          "type": "string"
        },
        "priceUpsellQuantityStacked": {
          "type": "boolean"
        },
        "isCommitted": {
          "type": "boolean"
        },
        "commitmentUnitType": {
          "$ref": "#/definitions/CommitmentUnitType"
        },
        "isChargeLevelMinCommit": {
          "type": "boolean"
        },
        "chargeLevelMinCommitmentAmount": {
          "type": "number",
          "format": "double"
        },
        "splitUpsellQuantity": {
          "type": "boolean"
        },
        "chargeFunction": {
          "$ref": "#/definitions/ChargeFunction"
        },
        "prorationOption": {
          "$ref": "#/definitions/ProrationOption"
        },
        "centralizedPrice": {
          "type": "boolean"
        },
        "taxable": {
          "type": "boolean"
        },
        "ocmJsonByCurrency": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        }
      }
    },
    "ProductRatePlanChargeExpand": {
      "type": "object",
      "properties": {
        "customObjects": {
          "type": "boolean"
        },
        "productChargeDefinitions": {
          "type": "boolean"
        }
      }
    },
    "ProductRatePlanChargeFields": {
      "type": "string",
      "enum": [
        "prpc_id",
        "prpc_charge_number",
        "prpc_created_by",
        "prpc_created_time",
        "prpc_updated_by",
        "prpc_updated_time",
        "prpc_name",
        "prpc_description",
        "prpc_accounting_code",
        "prpc_bill_cycle_day",
        "prpc_billing_day",
        "prpc_interval",
        "prpc_interval_count",
        "prpc_billing_alignment",
        "prpc_billing_timing",
        "prpc_charge_model",
        "prpc_charge_model_configuration",
        "prpc_charge_type",
        "prpc_prepayment",
        "prpc_drawdown",
        "prpc_end_date_condition",
        "prpc_revenue",
        "prpc_overage",
        "prpc_prepaid",
        "prpc_legacy_revenue_reporting",
        "prpc_list_price_base_interval",
        "prpc_maximum_quantity",
        "prpc_minimum_quantity",
        "prpc_overage_calculation_option",
        "prpc_credit_unused_units",
        "prpc_product_rate_plan_number",
        "prpc_rating_group",
        "prpc_revenue_recognition_rule",
        "prpc_delivery_schedule",
        "prpc_tax_code",
        "prpc_tax_inclusive",
        "prpc_taxable",
        "prpc_unit_of_measure",
        "prpc_start_event",
        "prpc_up_to_interval_count",
        "prpc_up_to_interval",
        "prpc_usage_record_rating_option",
        "prpc_bill_cycle_day_of_week",
        "prpc_prices",
        "prpc_unit_prices",
        "prpc_overage_prices",
        "prpc_tiers",
        "prpc_custom_fields",
        "prpc_labels",
        "prpc_product_charge_definitions",
        "prpc_billing_cycle_type",
        "prpc_billing_period",
        "prpc_specificBillingPeriod",
        "prpc_defaultQty"
      ],
      "default": "prpc_id"
    },
    "ProductRatePlanChargeFilter": {
      "type": "object",
      "properties": {
        "customField": {
          "type": "string"
        },
        "field": {
          "$ref": "#/definitions/ProductRatePlanChargeFields"
        },
        "operator": {
          "$ref": "#/definitions/FilterOperator"
        },
        "value": {
          "$ref": "#/definitions/Value"
        }
      }
    },
    "ProductRatePlanChargeRequest": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "productRatePlanChargeNumber": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "billCycle": {
          "$ref": "#/definitions/BillCycle"
        },
        "chargeModel": {
          "$ref": "#/definitions/ChargeModel"
        },
        "chargeType": {
          "$ref": "#/definitions/ChargeType"
        },
        "defaultQuantity": {
          "type": "number",
          "format": "double"
        },
        "maxQuantity": {
          "type": "number",
          "format": "double"
        },
        "minQuantity": {
          "type": "number",
          "format": "double"
        },
        "taxCode": {
          "type": "string"
        },
        "taxMode": {
          "$ref": "#/definitions/TaxMode"
        },
        "unitOfMeasure": {
          "type": "string"
        },
        "pricing": {
          "$ref": "#/definitions/Pricing"
        },
        "triggerEvent": {
          "$ref": "#/definitions/TriggerEvent"
        },
        "endDateCondition": {
          "$ref": "#/definitions/EndDateCondition"
        },
        "upToPeriodsType": {
          "$ref": "#/definitions/UpToPeriodsType"
        },
        "upToPeriods": {
          "type": "integer",
          "format": "int32"
        },
        "listPriceBase": {
          "$ref": "#/definitions/ListPriceBase"
        },
        "specificListPriceBase": {
          "type": "integer",
          "format": "int32"
        },
        "customFields": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/Value"
          }
        },
        "netsuite": {
          "$ref": "#/definitions/Netsuite",
          "title": "missing"
        },
        "accounting": {
          "$ref": "#/definitions/Accounting",
          "title": "missing"
        },
        "revenue": {
          "$ref": "#/definitions/Revenue",
          "title": "missing"
        },
        "prepayment": {
          "$ref": "#/definitions/Prepayment"
        },
        "drawdown": {
          "$ref": "#/definitions/Drawdown"
        },
        "prepaid": {
          "type": "boolean"
        },
        "deliverySchedule": {
          "$ref": "#/definitions/DeliverySchedule"
        },
        "priceIncreasePercentage": {
          "type": "number",
          "format": "double"
        },
        "priceChangeOption": {
          "$ref": "#/definitions/PriceChangeOption"
        },
        "useTenantDefaultForPriceChange": {
          "type": "boolean"
        },
        "ratingGroup": {
          "$ref": "#/definitions/RatingGroup"
        },
        "usageRecordRatingOption": {
          "$ref": "#/definitions/UsageRecordRatingOption"
        },
        "overageOptions": {
          "$ref": "#/definitions/OverageOptions"
        },
        "labels": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "productRatePlanId": {
          "type": "string"
        },
        "capAmount": {
          "$ref": "#/definitions/DoubleValue",
          "title": "what is this?"
        },
        "discountOptions": {
          "$ref": "#/definitions/DiscountOptions"
        },
        "externalUuid": {
          "type": "string"
        },
        "formula": {
          "type": "string"
        },
        "productCategory": {
          "type": "string"
        },
        "productClass": {
          "type": "string"
        },
        "productFamily": {
          "type": "string"
        },
        "productLine": {
          "type": "string"
        },
        "priceUpsellQuantityStacked": {
          "type": "boolean"
        },
        "isCommitted": {
          "type": "boolean"
        },
        "commitmentUnitType": {
          "$ref": "#/definitions/CommitmentUnitType"
        },
        "isChargeLevelMinCommit": {
          "type": "boolean"
        },
        "chargeLevelMinCommitmentAmount": {
          "type": "number",
          "format": "double"
        },
        "splitUpsellQuantity": {
          "type": "boolean"
        },
        "chargeFunction": {
          "$ref": "#/definitions/ChargeFunction"
        },
        "prorationOption": {
          "$ref": "#/definitions/ProrationOption"
        },
        "centralizedPrice": {
          "type": "boolean"
        },
        "taxable": {
          "type": "boolean"
        },
        "ocmJsonByCurrency": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        }
      }
    },
    "ProductRatePlanChargeResponse": {},
    "ProductRatePlanDefinition": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "createdBy": {
          "type": "string"
        },
        "createdTime": {
          "type": "string"
        },
        "updatedBy": {
          "type": "string"
        },
        "updatedTime": {
          "type": "string"
        },
        "productRatePlanId": {
          "type": "string",
          "title": "string product_rate_plan_definition_number = 6;"
        },
        "productRatePlanNumber": {
          "type": "string"
        },
        "productRatePlanChargeId": {
          "type": "string"
        },
        "productRatePlanChargeNumber": {
          "type": "string"
        },
        "startDate": {
          "type": "string"
        },
        "endDate": {
          "type": "string"
        },
        "state": {
          "$ref": "#/definitions/RatePlanDefinitionState"
        },
        "active": {
          "type": "boolean"
        }
      }
    },
    "ProductRatePlanDefinitionResponse": {},
    "ProductRatePlanExpand": {
      "type": "object",
      "properties": {
        "customObjects": {
          "type": "boolean"
        },
        "productRatePlanCharges": {
          "type": "boolean"
        },
        "productChargeDefinitions": {
          "type": "boolean"
        }
      }
    },
    "ProductRatePlanFields": {
      "type": "string",
      "enum": [
        "prp_id",
        "prp_createdBy",
        "prp_createdTime",
        "prp_updatedBy",
        "prp_updatedTime",
        "prp_name",
        "prp_productId"
      ],
      "default": "prp_id"
    },
    "ProductRatePlanFilter": {
      "type": "object",
      "properties": {
        "field": {
          "$ref": "#/definitions/ProductRatePlanFields"
        },
        "customField": {
          "type": "string"
        },
        "operator": {
          "$ref": "#/definitions/FilterOperator"
        },
        "value": {
          "$ref": "#/definitions/Value"
        }
      }
    },
    "ProductRatePlanResponse": {},
    "ProductResponse": {},
    "ProrationOption": {
      "type": "string",
      "enum": [
        "no_proration",
        "time_based_proration",
        "default_from_tenant_setting",
        "charge_full_period",
        "customize_proration_option_overrides"
      ],
      "default": "no_proration"
    },
    "RatePlanDefinitionState": {
      "type": "string",
      "enum": [
        "rateplan_definition_state_inactive",
        "rateplan_definition_state_active",
        "rateplan_definition_state_expired"
      ],
      "default": "rateplan_definition_state_inactive"
    },
    "RatePlanNetsuite": {
      "type": "object",
      "properties": {
        "BillingPeriodNS": {
          "$ref": "#/definitions/BillingPeriod__NS"
        },
        "ClassNS": {
          "type": "string"
        },
        "DepartmentNS": {
          "type": "string"
        },
        "IncludeChildrenNS": {
          "$ref": "#/definitions/IncludeChildren_NS"
        },
        "IntegrationIdNS": {
          "type": "string"
        },
        "IntegrationStatusNS": {
          "type": "string"
        },
        "ItemTypeNS": {
          "$ref": "#/definitions/ItemType_NS"
        },
        "LocationNS": {
          "type": "string"
        },
        "MultiCurrencyPriceNS": {
          "type": "string"
        },
        "PriceNS": {
          "type": "string"
        },
        "SubsidiaryNS": {
          "type": "string"
        },
        "SyncDateNS": {
          "type": "string"
        },
        "TaxCodeNS": {
          "type": "string"
        }
      }
    },
    "RatePlanState": {
      "type": "string",
      "enum": [
        "active",
        "not_started",
        "expired"
      ],
      "default": "active"
    },
    "RatingGroup": {
      "type": "string",
      "enum": [
        "by_billing_period",
        "by_usage_start_date",
        "by_usage_record",
        "by_usage_upload",
        "by_group_id"
      ],
      "default": "by_billing_period"
    },
    "Response": {
      "type": "object",
      "properties": {
        "response": {
          "type": "string"
        }
      }
    },
    "RevRecEnd__NS": {
      "type": "string",
      "enum": [
        "rev_rec_charge_period_end",
        "rev_rec_end_trigger_date",
        "rev_rec_end_use_netsuite_rev_rec_template"
      ],
      "default": "rev_rec_charge_period_end"
    },
    "RevRecStart__NS": {
      "type": "string",
      "enum": [
        "rev_rec_charge_period_start",
        "rev_rec_start_trigger_date",
        "rev_rec_start_use_netsuite_rev_rec_template"
      ],
      "default": "rev_rec_charge_period_start"
    },
    "Revenue": {
      "type": "object",
      "properties": {
        "excludeItemBillingFromRevenueAccounting": {
          "type": "boolean"
        },
        "excludeItemBookingFromRevenueAccounting": {
          "type": "boolean"
        },
        "legacyReporting": {
          "type": "boolean"
        },
        "revenueRecognitionCode": {
          "type": "string"
        },
        "revenueRecognitionRuleName": {
          "type": "string"
        },
        "revenueRecognitionTriggerCondition": {
          "$ref": "#/definitions/TriggerEvent"
        },
        "allocationEligible": {
          "type": "boolean"
        },
        "unbilled": {
          "type": "boolean"
        },
        "revenueRecognitionTiming": {
          "type": "string"
        },
        "revenueAmortizationMethod": {
          "type": "string"
        }
      }
    },
    "RolloverApply": {
      "type": "string",
      "enum": [
        "apply_last",
        "apply_first"
      ],
      "default": "apply_last"
    },
    "Status": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "format": "int32"
        },
        "message": {
          "type": "string"
        },
        "details": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/Any"
          }
        }
      }
    },
    "Struct": {
      "type": "object",
      "properties": {
        "fields": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/Value"
          }
        }
      }
    },
    "Surcharge": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "surchargeNumber": {
          "type": "string"
        },
        "createdById": {
          "type": "string"
        },
        "createdTime": {
          "type": "string"
        },
        "updatedById": {
          "type": "string"
        },
        "updatedTime": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "category": {
          "$ref": "#/definitions/SurchargeCategory"
        },
        "pricing": {
          "$ref": "#/definitions/SurchargePricing",
          "title": "on get with attribute context"
        },
        "customFields": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/Value"
          }
        },
        "attributes": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/Attribute"
          }
        },
        "chargeModel": {
          "$ref": "#/definitions/ChargeModel"
        },
        "taxCode": {
          "type": "string"
        },
        "taxMode": {
          "$ref": "#/definitions/TaxMode"
        },
        "reversible": {
          "type": "boolean"
        },
        "accounting": {
          "$ref": "#/definitions/Accounting"
        },
        "revenue": {
          "$ref": "#/definitions/Revenue"
        },
        "data": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/SurchargeAttributeCombination"
          }
        }
      }
    },
    "SurchargeAttributeCombination": {
      "type": "object",
      "properties": {
        "attributes": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/AttributeValue"
          }
        },
        "pricing": {
          "$ref": "#/definitions/SurchargePricing"
        }
      }
    },
    "SurchargeCategory": {
      "type": "string",
      "enum": [
        "PAYMENT_SURCHARGE"
      ],
      "default": "PAYMENT_SURCHARGE"
    },
    "SurchargePricing": {
      "type": "object",
      "properties": {
        "percentage": {
          "type": "number",
          "format": "double"
        },
        "amount": {
          "type": "number",
          "format": "double"
        },
        "roundedAmount": {
          "type": "string"
        },
        "taxCode": {
          "type": "string"
        },
        "taxMode": {
          "$ref": "#/definitions/TaxMode"
        }
      }
    },
    "SurchargeResponse": {},
    "TaxMode": {
      "type": "string",
      "enum": [
        "tax_exclusive",
        "tax_inclusive",
        "non_taxable"
      ],
      "default": "tax_exclusive"
    },
    "TemplateType__NS": {
      "type": "string",
      "enum": [
        "standard",
        "variable"
      ],
      "default": "standard"
    },
    "TermPeriodType": {
      "type": "string",
      "enum": [
        "TERM_PERIOD_Month",
        "TERM_PERIOD_Year",
        "TERM_PERIOD_Day",
        "TERM_PERIOD_Week"
      ],
      "default": "TERM_PERIOD_Month"
    },
    "TermType": {
      "type": "string",
      "enum": [
        "TERMED",
        "EVERGREEN"
      ],
      "default": "TERMED"
    },
    "Tier": {
      "type": "object",
      "properties": {
        "upTo": {
          "type": "number",
          "format": "double"
        },
        "from": {
          "type": "number",
          "format": "double"
        },
        "priceFormat": {
          "$ref": "#/definitions/PriceFormat"
        },
        "flatAmounts": {
          "type": "object",
          "additionalProperties": {
            "type": "number",
            "format": "double"
          }
        },
        "unitAmounts": {
          "type": "object",
          "additionalProperties": {
            "type": "number",
            "format": "double"
          }
        },
        "overageAmounts": {
          "type": "object",
          "additionalProperties": {
            "type": "number",
            "format": "double"
          }
        },
        "tier": {
          "type": "string",
          "format": "int64"
        }
      }
    },
    "TierMode": {
      "type": "string",
      "enum": [
        "tier_mode_unspecified",
        "tier_mode_tiered",
        "tier_mode_volume",
        "tier_mode_high_watermark_volume",
        "tier_mode_high_watermark_tiered",
        "tier_mode_tiered_with_overage"
      ],
      "default": "tier_mode_unspecified"
    },
    "TrialOptions": {
      "type": "object",
      "properties": {
        "intervalCount": {
          "type": "number",
          "format": "double"
        },
        "interval": {
          "$ref": "#/definitions/Interval"
        }
      }
    },
    "TriggerEvent": {
      "type": "string",
      "enum": [
        "start_event_unspecified",
        "contract_effective",
        "service_activation",
        "customer_acceptance",
        "specific_date"
      ],
      "default": "start_event_unspecified"
    },
    "UpToPeriodsType": {
      "type": "string",
      "enum": [
        "billing_periods",
        "days",
        "weeks",
        "months",
        "years",
        "upto_interval_unspecified"
      ],
      "default": "billing_periods"
    },
    "UpdateDiscountRequest": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "discount": {
          "$ref": "#/definitions/DiscountRequest"
        }
      }
    },
    "UpdateFeatureRequest": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "featureNumber": {
          "type": "string"
        },
        "type": {
          "type": "string"
        },
        "startDate": {
          "type": "string"
        },
        "endDate": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "minimumQuantity": {
          "type": "number",
          "format": "double"
        },
        "maximumQuantity": {
          "type": "number",
          "format": "double"
        },
        "customFields": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/Value"
          }
        },
        "tags": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "entitlementParams": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/CreateFeatureParams"
          }
        },
        "unitOfMeasure": {
          "type": "string"
        },
        "policy": {
          "type": "string"
        },
        "fulfillmentMap": {
          "type": "string"
        },
        "intervalCount": {
          "type": "string",
          "format": "int64"
        },
        "interval": {
          "$ref": "#/definitions/Interval"
        },
        "defaultQuantity": {
          "type": "number",
          "format": "double"
        },
        "fulfillmentOptions": {
          "$ref": "#/definitions/FulfillmentMap"
        },
        "trialOptions": {
          "$ref": "#/definitions/TrialOptions"
        },
        "prices": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/FeaturePrice"
          }
        },
        "id": {
          "type": "string"
        }
      }
    },
    "UpdateProductChargeDefinitionRequest": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "effectiveStartDate": {
          "type": "string"
        },
        "effectiveEndDate": {
          "type": "string"
        },
        "listPriceBase": {
          "$ref": "#/definitions/ListPriceBase"
        },
        "specificListPriceBase": {
          "type": "integer",
          "format": "int32"
        },
        "period": {
          "$ref": "#/definitions/BillCyclePeriod"
        },
        "specificPeriod": {
          "type": "string",
          "format": "int64"
        },
        "taxable": {
          "type": "boolean"
        },
        "taxCode": {
          "type": "string"
        },
        "taxMode": {
          "$ref": "#/definitions/TaxMode"
        },
        "termPeriodType": {
          "$ref": "#/definitions/TermPeriodType"
        },
        "termType": {
          "$ref": "#/definitions/TermType"
        },
        "term": {
          "type": "string",
          "format": "int64"
        },
        "unitOfMeasure": {
          "type": "string"
        },
        "defaultQuantity": {
          "type": "number",
          "format": "double"
        },
        "chargeModel": {
          "$ref": "#/definitions/ChargeModel"
        },
        "pricing": {
          "$ref": "#/definitions/Pricing"
        },
        "customFields": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/Value"
          }
        },
        "effectiveDatingUpdateOption": {
          "$ref": "#/definitions/EffectiveDatingUpdateOption"
        },
        "fieldsToNull": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "UpdateProductRatePlanChargeRequest": {
      "type": "object",
      "properties": {
        "charge": {
          "$ref": "#/definitions/ProductRatePlanChargeRequest"
        },
        "fieldsToNull": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "UpdateProductRatePlanChargeTierRequest": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "price": {
          "type": "number",
          "format": "double"
        }
      }
    },
    "UpdateProductRatePlanChargeTierResponse": {},
    "UpdateProductRatePlanRequest": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "startDate": {
          "type": "string"
        },
        "endDate": {
          "type": "string"
        },
        "productId": {
          "type": "string"
        },
        "activeCurrencies": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "productRatePlanNumber": {
          "type": "string"
        },
        "externalRateplanId": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "externalIdSourceSystem": {
          "type": "string"
        },
        "customFields": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/Value"
          }
        },
        "netsuite": {
          "$ref": "#/definitions/RatePlanNetsuite"
        },
        "grade": {
          "type": "integer",
          "format": "int32"
        },
        "fieldsToNull": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "UpdateProductRequest": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "productNumber": {
          "type": "string"
        },
        "sku": {
          "type": "string"
        },
        "startDate": {
          "type": "string"
        },
        "endDate": {
          "type": "string"
        },
        "category": {
          "$ref": "#/definitions/Category"
        },
        "customFields": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/Value"
          }
        },
        "netsuite": {
          "$ref": "#/definitions/ProductNetsuite"
        },
        "fieldsToNull": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "allowFeatureChanges": {
          "type": "boolean"
        }
      }
    },
    "UpdateSurchargeRequest": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "surchargeNumber": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "chargeModel": {
          "$ref": "#/definitions/ChargeModel"
        },
        "customFields": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/Value"
          }
        },
        "attributes": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/Attribute"
          }
        },
        "category": {
          "$ref": "#/definitions/SurchargeCategory"
        },
        "data": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/SurchargeAttributeCombination"
          }
        },
        "taxCode": {
          "type": "string"
        },
        "taxMode": {
          "$ref": "#/definitions/TaxMode"
        },
        "reversible": {
          "type": "boolean"
        },
        "accounting": {
          "$ref": "#/definitions/Accounting"
        },
        "revenue": {
          "$ref": "#/definitions/Revenue"
        }
      }
    },
    "UsageRecordRatingOption": {
      "type": "string",
      "enum": [
        "end_of_billing_period",
        "on_demand"
      ],
      "default": "end_of_billing_period"
    },
    "ValidityPeriodType": {
      "type": "string",
      "enum": [
        "subscription_term",
        "annual",
        "semi_annual",
        "quarter",
        "month"
      ],
      "default": "subscription_term"
    },
    "Value": {
      "type": "object",
      "properties": {
        "nullValue": {
          "$ref": "#/definitions/NullValue"
        },
        "numberValue": {
          "type": "number",
          "format": "double"
        },
        "stringValue": {
          "type": "string"
        },
        "boolValue": {
          "type": "boolean"
        },
        "structValue": {
          "$ref": "#/definitions/Struct"
        },
        "listValue": {
          "$ref": "#/definitions/ListValue"
        },
        "intValue": {
          "type": "integer",
          "format": "int32"
        }
      }
    }
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy