@epilot/sdk 2.18.29 → 2.18.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (136) hide show
  1. package/definitions/automation.json +33 -0
  2. package/definitions/pricing-runtime.json +1 -1
  3. package/definitions/pricing.json +1733 -59
  4. package/dist/apis/access-token.cjs +6 -6
  5. package/dist/apis/access-token.js +1 -1
  6. package/dist/apis/address-suggestions.cjs +6 -6
  7. package/dist/apis/address-suggestions.js +1 -1
  8. package/dist/apis/address.cjs +6 -6
  9. package/dist/apis/address.js +1 -1
  10. package/dist/apis/ai-agents.cjs +6 -6
  11. package/dist/apis/ai-agents.js +1 -1
  12. package/dist/apis/app.cjs +6 -6
  13. package/dist/apis/app.js +1 -1
  14. package/dist/apis/audit-logs.cjs +6 -6
  15. package/dist/apis/audit-logs.js +1 -1
  16. package/dist/apis/automation.cjs +6 -6
  17. package/dist/apis/automation.d.cts +2 -2
  18. package/dist/apis/automation.d.ts +2 -2
  19. package/dist/apis/automation.js +1 -1
  20. package/dist/apis/billing.cjs +6 -6
  21. package/dist/apis/billing.js +1 -1
  22. package/dist/apis/blueprint-manifest.cjs +6 -6
  23. package/dist/apis/blueprint-manifest.js +1 -1
  24. package/dist/apis/calendar.cjs +6 -6
  25. package/dist/apis/calendar.js +1 -1
  26. package/dist/apis/configuration-hub.cjs +6 -6
  27. package/dist/apis/configuration-hub.js +1 -1
  28. package/dist/apis/consent.cjs +6 -6
  29. package/dist/apis/consent.js +1 -1
  30. package/dist/apis/customer-portal.cjs +6 -6
  31. package/dist/apis/customer-portal.js +1 -1
  32. package/dist/apis/dashboard.cjs +6 -6
  33. package/dist/apis/dashboard.js +1 -1
  34. package/dist/apis/data-governance.cjs +6 -6
  35. package/dist/apis/data-governance.js +1 -1
  36. package/dist/apis/deduplication.cjs +6 -6
  37. package/dist/apis/deduplication.js +1 -1
  38. package/dist/apis/design.cjs +6 -6
  39. package/dist/apis/design.js +1 -1
  40. package/dist/apis/document.cjs +6 -6
  41. package/dist/apis/document.js +1 -1
  42. package/dist/apis/email-settings.cjs +6 -6
  43. package/dist/apis/email-settings.js +1 -1
  44. package/dist/apis/email-template.cjs +6 -6
  45. package/dist/apis/email-template.js +1 -1
  46. package/dist/apis/entity-mapping.cjs +6 -6
  47. package/dist/apis/entity-mapping.js +1 -1
  48. package/dist/apis/entity.cjs +6 -6
  49. package/dist/apis/entity.js +1 -1
  50. package/dist/apis/environments.cjs +6 -6
  51. package/dist/apis/environments.js +1 -1
  52. package/dist/apis/event-catalog.cjs +6 -6
  53. package/dist/apis/event-catalog.js +1 -1
  54. package/dist/apis/file.cjs +6 -6
  55. package/dist/apis/file.js +1 -1
  56. package/dist/apis/iban.cjs +6 -6
  57. package/dist/apis/iban.js +1 -1
  58. package/dist/apis/integration-toolkit.cjs +6 -6
  59. package/dist/apis/integration-toolkit.js +1 -1
  60. package/dist/apis/journey.cjs +6 -6
  61. package/dist/apis/journey.js +1 -1
  62. package/dist/apis/kanban.cjs +6 -6
  63. package/dist/apis/kanban.js +1 -1
  64. package/dist/apis/message.cjs +6 -6
  65. package/dist/apis/message.js +1 -1
  66. package/dist/apis/metering.cjs +6 -6
  67. package/dist/apis/metering.js +1 -1
  68. package/dist/apis/notes.cjs +6 -6
  69. package/dist/apis/notes.js +1 -1
  70. package/dist/apis/notification.cjs +6 -6
  71. package/dist/apis/notification.js +1 -1
  72. package/dist/apis/organization.cjs +6 -6
  73. package/dist/apis/organization.js +1 -1
  74. package/dist/apis/partner-directory.cjs +6 -6
  75. package/dist/apis/partner-directory.js +1 -1
  76. package/dist/apis/permissions.cjs +6 -6
  77. package/dist/apis/permissions.js +1 -1
  78. package/dist/apis/pricing-tier.cjs +6 -6
  79. package/dist/apis/pricing-tier.js +1 -1
  80. package/dist/apis/pricing.cjs +8 -8
  81. package/dist/apis/pricing.d.cts +2 -2
  82. package/dist/apis/pricing.d.ts +2 -2
  83. package/dist/apis/pricing.js +2 -2
  84. package/dist/apis/purpose.cjs +6 -6
  85. package/dist/apis/purpose.js +1 -1
  86. package/dist/apis/query.cjs +6 -6
  87. package/dist/apis/query.js +1 -1
  88. package/dist/apis/sandbox.cjs +6 -6
  89. package/dist/apis/sandbox.js +1 -1
  90. package/dist/apis/sharing.cjs +6 -6
  91. package/dist/apis/sharing.js +1 -1
  92. package/dist/apis/snapshot.cjs +6 -6
  93. package/dist/apis/snapshot.js +1 -1
  94. package/dist/apis/submission.cjs +6 -6
  95. package/dist/apis/submission.js +1 -1
  96. package/dist/apis/target.cjs +6 -6
  97. package/dist/apis/target.js +1 -1
  98. package/dist/apis/targeting.cjs +6 -6
  99. package/dist/apis/targeting.js +1 -1
  100. package/dist/apis/template-variables.cjs +6 -6
  101. package/dist/apis/template-variables.js +1 -1
  102. package/dist/apis/user.cjs +6 -6
  103. package/dist/apis/user.js +1 -1
  104. package/dist/apis/validation-rules.cjs +6 -6
  105. package/dist/apis/validation-rules.js +1 -1
  106. package/dist/apis/webhooks.cjs +6 -6
  107. package/dist/apis/webhooks.js +1 -1
  108. package/dist/apis/workflow-definition.cjs +6 -6
  109. package/dist/apis/workflow-definition.js +1 -1
  110. package/dist/apis/workflow.cjs +6 -6
  111. package/dist/apis/workflow.js +1 -1
  112. package/dist/automation-3HMHBP6P.cjs +7 -0
  113. package/dist/automation-GIJB3MOI.js +7 -0
  114. package/dist/{automation.d-DiWfPkLs.d.cts → automation.d-BnQFR6k8.d.cts} +49 -3
  115. package/dist/{automation.d-DiWfPkLs.d.ts → automation.d-BnQFR6k8.d.ts} +49 -3
  116. package/dist/{chunk-DZ6B3JHX.cjs → chunk-JZBUH4RD.cjs} +3 -3
  117. package/dist/{chunk-63BFJKWV.js → chunk-OHYTCUUB.js} +1 -1
  118. package/dist/{chunk-AUPMKSFK.js → chunk-RKEGU6OW.js} +3 -3
  119. package/dist/{chunk-KP7H52BF.cjs → chunk-UKHR33EL.cjs} +1 -1
  120. package/dist/index.cjs +10 -10
  121. package/dist/index.d.cts +2 -2
  122. package/dist/index.d.ts +2 -2
  123. package/dist/index.js +2 -2
  124. package/dist/pricing-HQ75T2TF.js +7 -0
  125. package/dist/pricing-HTU5XPZE.cjs +7 -0
  126. package/dist/{pricing-runtime-2YKEJJMZ.js → pricing-runtime-AT27C3BP.js} +1 -1
  127. package/dist/{pricing-runtime-XDCOKL47.cjs → pricing-runtime-PFVTRERK.cjs} +2 -2
  128. package/dist/{pricing.d-C95oaAtN.d.cts → pricing.d-D6HCZpbI.d.cts} +2218 -83
  129. package/dist/{pricing.d-C95oaAtN.d.ts → pricing.d-D6HCZpbI.d.ts} +2218 -83
  130. package/docs/automation.md +47 -2
  131. package/docs/pricing.md +1050 -22
  132. package/package.json +1 -1
  133. package/dist/automation-UP6J7QIK.js +0 -7
  134. package/dist/automation-ZF5ACFVW.cjs +0 -7
  135. package/dist/pricing-5GBNQOLX.cjs +0 -7
  136. package/dist/pricing-YJHJTRJS.js +0 -7
@@ -0,0 +1,7 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-NJK5F5TF.cjs');
2
+
3
+ // src/docs/pricing.json
4
+ var pricing_default = '# Pricing API\n\n- **Base URL:** `https://pricing-api.sls.epilot.io`\n- **Full API Docs:** [https://docs.epilot.io/api/pricing](https://docs.epilot.io/api/pricing)\n\n## Usage\n\n```ts\nimport { epilot } from \'@epilot/sdk\'\n\nepilot.authorize(() => \'<token>\')\nconst { data } = await epilot.pricing.$calculatePricingDetails(...)\n```\n\n### Tree-shakeable import\n\n```ts\nimport { getClient, authorize } from \'@epilot/sdk/pricing\'\n\nconst pricingClient = getClient()\nauthorize(pricingClient, () => \'<token>\')\nconst { data } = await pricingClient.$calculatePricingDetails(...)\n```\n\n## Operations\n\n**Order API**\n- [`$calculatePricingDetails`](#$calculatepricingdetails)\n- [`createOrder`](#createorder)\n- [`putOrder`](#putorder)\n\n**Cart API**\n- [`$checkoutCart`](#$checkoutcart)\n\n**Catalog API**\n- [`$searchCatalog`](#$searchcatalog)\n- [`$privateSearchCatalog`](#$privatesearchcatalog)\n\n**Promo Codes API**\n- [`$validatePromoCodes`](#$validatepromocodes)\n\n**Availability API**\n- [`$availabilityCheck`](#$availabilitycheck)\n- [`$validateAvailabilityFile`](#$validateavailabilityfile)\n\n**Spot Market API**\n- [`$historicMarketPrices`](#$historicmarketprices)\n- [`$averageMarketPrice`](#$averagemarketprice)\n\n**External Integrations API**\n- [`$searchExternalProducts`](#$searchexternalproducts)\n- [`$searchExternalProductRecommendations`](#$searchexternalproductrecommendations)\n- [`$searchProviders`](#$searchproviders)\n- [`$searchStreets`](#$searchstreets)\n- [`$computePrice`](#$computeprice)\n- [`$getCredentials`](#$getcredentials)\n- [`$saveCredentials`](#$savecredentials)\n- [`$deleteCredentials`](#$deletecredentials)\n\n**External Catalog API**\n- [`$getExternalCatalogProducts`](#$getexternalcatalogproducts)\n- [`$getExternalCatalogProductRecommendations`](#$getexternalcatalogproductrecommendations)\n\n**Product Recommendations API**\n- [`$productRecommendations`](#$productrecommendations)\n\n**Conditional Pricing API**\n- [`$getConditionSets`](#$getconditionsets)\n- [`$resolveConditionalEntity`](#$resolveconditionalentity)\n- [`$createConditionalVariant`](#$createconditionalvariant)\n- [`$getActiveConditionalVariantVersion`](#$getactiveconditionalvariantversion)\n- [`$replaceActiveConditionalVariantVersion`](#$replaceactiveconditionalvariantversion)\n- [`$patchActiveConditionalVariantVersion`](#$patchactiveconditionalvariantversion)\n- [`$deleteConditionalVariant`](#$deleteconditionalvariant)\n- [`$appendConditionalVariantVersion`](#$appendconditionalvariantversion)\n- [`$getConditionalVariantVersion`](#$getconditionalvariantversion)\n- [`$replaceConditionalVariantVersion`](#$replaceconditionalvariantversion)\n- [`$patchConditionalVariantVersion`](#$patchconditionalvariantversion)\n- [`$deleteConditionalVariantVersion`](#$deleteconditionalvariantversion)\n\n**Schemas**\n- [`IntegrationId`](#integrationid)\n- [`ConditionalEntitySlug`](#conditionalentityslug)\n- [`ConditionType`](#conditiontype)\n- [`ConditionDefinition`](#conditiondefinition)\n- [`ConditionSet`](#conditionset)\n- [`ConditionSetCatalog`](#conditionsetcatalog)\n- [`ConditionalPricingErrorCode`](#conditionalpricingerrorcode)\n- [`ResolveConditionalEntityRequest`](#resolveconditionalentityrequest)\n- [`ResolveContext`](#resolvecontext)\n- [`ResolveOptions`](#resolveoptions)\n- [`ResolvedVariants`](#resolvedvariants)\n- [`ResolvedVariant`](#resolvedvariant)\n- [`CreateVariantRequest`](#createvariantrequest)\n- [`VariantConditions`](#variantconditions)\n- [`PinnedConditions`](#pinnedconditions)\n- [`VariantValues`](#variantvalues)\n- [`CreatedVariant`](#createdvariant)\n- [`VariantWriteWarning`](#variantwritewarning)\n- [`DeletedVariant`](#deletedvariant)\n- [`VariantVersion`](#variantversion)\n- [`WrittenVariantVersion`](#writtenvariantversion)\n- [`DeletedVariantVersion`](#deletedvariantversion)\n- [`VersionWriteWarning`](#versionwritewarning)\n- [`AppendVersionRequest`](#appendversionrequest)\n- [`ReplaceVersionRequest`](#replaceversionrequest)\n- [`PatchVersionRequest`](#patchversionrequest)\n- [`Error`](#error)\n- [`ConditionalPricingError`](#conditionalpricingerror)\n- [`Product`](#product)\n- [`Opportunity`](#opportunity)\n- [`Order`](#order)\n- [`Price`](#price)\n- [`BaseCompositePrice`](#basecompositeprice)\n- [`NonHydratedCompositePrice`](#nonhydratedcompositeprice)\n- [`HydratedCompositePrice`](#hydratedcompositeprice)\n- [`CompositePrice`](#compositeprice)\n- [`PriceComponentRelation`](#pricecomponentrelation)\n- [`MetaData`](#metadata)\n- [`PriceInputMappings`](#priceinputmappings)\n- [`PriceInputMapping`](#priceinputmapping)\n- [`PriceConditions`](#priceconditions)\n- [`ExternalFeeMetadata`](#externalfeemetadata)\n- [`ExternalLocationMetadata`](#externallocationmetadata)\n- [`ExternalPriceMetadata`](#externalpricemetadata)\n- [`ExternalFeeMappings`](#externalfeemappings)\n- [`ExternalFeeMapping`](#externalfeemapping)\n- [`CatalogSearch`](#catalogsearch)\n- [`CatalogFieldsParam`](#catalogfieldsparam)\n- [`CatalogSearchResult`](#catalogsearchresult)\n- [`SearchProvidersParams`](#searchprovidersparams)\n- [`SearchStreetsParams`](#searchstreetsparams)\n- [`AvailabilityCheckParams`](#availabilitycheckparams)\n- [`AvailabilityResult`](#availabilityresult)\n- [`ValidateAvailabilityFileError`](#validateavailabilityfileerror)\n- [`IntegrationCredentialsResult`](#integrationcredentialsresult)\n- [`SaveIntegrationCredentialsParams`](#saveintegrationcredentialsparams)\n- [`ComputePriceParamsBase`](#computepriceparamsbase)\n- [`ComputePriceParamsPower`](#computepriceparamspower)\n- [`ComputePriceParamsGas`](#computepriceparamsgas)\n- [`SignatureMeta`](#signaturemeta)\n- [`ComputedBasePrice`](#computedbaseprice)\n- [`ComputePriceParams`](#computepriceparams)\n- [`GasConcessionType`](#gasconcessiontype)\n- [`PowerMeterType`](#powermetertype)\n- [`DynamicTariffMode`](#dynamictariffmode)\n- [`DynamicTariffInterval`](#dynamictariffinterval)\n- [`ComputedPriceBreakdown`](#computedpricebreakdown)\n- [`ComputedPriceComponents`](#computedpricecomponents)\n- [`ComputePriceResult`](#computepriceresult)\n- [`SpotMarketBiddingZone`](#spotmarketbiddingzone)\n- [`SpotMarketType`](#spotmarkettype)\n- [`SpotMarketDataFrequency`](#spotmarketdatafrequency)\n- [`HistoricMarketPricesResult`](#historicmarketpricesresult)\n- [`AverageMarketPriceResult`](#averagemarketpriceresult)\n- [`AverageMarketPriceRecord`](#averagemarketpricerecord)\n- [`HistoricMarketPriceRecord`](#historicmarketpricerecord)\n- [`BaseMarketPriceRecord`](#basemarketpricerecord)\n- [`OAuthCredentials`](#oauthcredentials)\n- [`BasicAuthCredentials`](#basicauthcredentials)\n- [`BasicAuthIntegration`](#basicauthintegration)\n- [`OAuthIntegration`](#oauthintegration)\n- [`IntegrationAuthCredentials`](#integrationauthcredentials)\n- [`SearchStreetsResult`](#searchstreetsresult)\n- [`SearchProvidersResult`](#searchprovidersresult)\n- [`Provider`](#provider)\n- [`AdditionalProviderData`](#additionalproviderdata)\n- [`MarketParticipant`](#marketparticipant)\n- [`GasMarketAreaDetails`](#gasmarketareadetails)\n- [`PowerMarketAreaDetails`](#powermarketareadetails)\n- [`Street`](#street)\n- [`ValidateAvailabilityFileResult`](#validateavailabilityfileresult)\n- [`CartDto`](#cartdto)\n- [`CheckoutCart`](#checkoutcart)\n- [`CheckoutCartResult`](#checkoutcartresult)\n- [`CheckoutMode`](#checkoutmode)\n- [`OrderStatus`](#orderstatus)\n- [`BasePriceItemCommon`](#basepriceitemcommon)\n- [`PriceItemDtoUnion`](#priceitemdtounion)\n- [`PriceItemsDto`](#priceitemsdto)\n- [`BasePriceItemDto`](#basepriceitemdto)\n- [`PriceItemDto`](#priceitemdto)\n- [`CompositePriceItemDto`](#compositepriceitemdto)\n- [`TaxAmountDto`](#taxamountdto)\n- [`OrderSource`](#ordersource)\n- [`OpportunitySource`](#opportunitysource)\n- [`RecurrenceAmountDto`](#recurrenceamountdto)\n- [`Currency`](#currency)\n- [`OrderRelation`](#orderrelation)\n- [`OrderPayload`](#orderpayload)\n- [`PriceItems`](#priceitems)\n- [`CompositePriceItem`](#compositepriceitem)\n- [`BasePriceItem`](#basepriceitem)\n- [`CashbackAmounts`](#cashbackamounts)\n- [`DiscountAmounts`](#discountamounts)\n- [`PriceAmounts`](#priceamounts)\n- [`Amounts`](#amounts)\n- [`PriceItem`](#priceitem)\n- [`TaxAmount`](#taxamount)\n- [`TaxAmountBreakdown`](#taxamountbreakdown)\n- [`RecurrenceAmount`](#recurrenceamount)\n- [`CashbackAmount`](#cashbackamount)\n- [`RecurrenceAmountWithTax`](#recurrenceamountwithtax)\n- [`TotalDetails`](#totaldetails)\n- [`PricingDetails`](#pricingdetails)\n- [`PromoCodeValidationResponse`](#promocodevalidationresponse)\n- [`PricingDetailsResponse`](#pricingdetailsresponse)\n- [`BillingPeriod`](#billingperiod)\n- [`CashbackPeriod`](#cashbackperiod)\n- [`SalesTax`](#salestax)\n- [`AvailabilityLocation`](#availabilitylocation)\n- [`AvailabilityFilters`](#availabilityfilters)\n- [`Address`](#address)\n- [`PaymentMethod`](#paymentmethod)\n- [`Customer`](#customer)\n- [`File`](#file)\n- [`EntityId`](#entityid)\n- [`EntityItem`](#entityitem)\n- [`EntityRelation`](#entityrelation)\n- [`Tax`](#tax)\n- [`TaxItem`](#taxitem)\n- [`TaxBreakdownInfo`](#taxbreakdowninfo)\n- [`BaseCouponCommon`](#basecouponcommon)\n- [`CouponWithoutPromoCodes`](#couponwithoutpromocodes)\n- [`Coupon`](#coupon)\n- [`CouponItem`](#couponitem)\n- [`PromoCode`](#promocode)\n- [`RedeemedPromo`](#redeemedpromo)\n- [`PriceTier`](#pricetier)\n- [`PriceTierDisplayMode`](#pricetierdisplaymode)\n- [`PricingModel`](#pricingmodel)\n- [`MarkupPricingModel`](#markuppricingmodel)\n- [`TypeGetAg`](#typegetag)\n- [`TariffTypeGetAg`](#tarifftypegetag)\n- [`ConsumptionTypeGetAg`](#consumptiontypegetag)\n- [`ProductCategory`](#productcategory)\n- [`PriceGetAg`](#pricegetag)\n- [`PriceDynamicTariff`](#pricedynamictariff)\n- [`TierDetails`](#tierdetails)\n- [`SearchExternalCatalogParams`](#searchexternalcatalogparams)\n- [`ExternalCatalogRequest`](#externalcatalogrequest)\n- [`ExternalCatalogConfigurationRequest`](#externalcatalogconfigurationrequest)\n- [`ExternalCatalogJourneyRequest`](#externalcatalogjourneyrequest)\n- [`ExternalCatalogPortalRequest`](#externalcatalogportalrequest)\n- [`ExternalCatalogCustomRequest`](#externalcatalogcustomrequest)\n- [`CustomContext`](#customcontext)\n- [`JourneyContext`](#journeycontext)\n- [`PortalContext`](#portalcontext)\n- [`SearchExternalCatalogResult`](#searchexternalcatalogresult)\n- [`SearchExternalCatalogRecommendationsResult`](#searchexternalcatalogrecommendationsresult)\n- [`ExternalCatalogItem`](#externalcatalogitem)\n- [`ProductRecommendationSearch`](#productrecommendationsearch)\n- [`ProductRecommendationResponse`](#productrecommendationresponse)\n- [`OfferHighlightConfig`](#offerhighlightconfig)\n- [`Offer`](#offer)\n- [`ProductRecommendation`](#productrecommendation)\n\n### `$calculatePricingDetails`\n\nComputes a set of pricing details that can be persisted on an entity with the pricing capability enabled, e.g: Orders or Contracts.\n\n`POST /v1/pricing:compute`\n\n```ts\nconst { data } = await client.$calculatePricingDetails(\n null,\n {},\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "items": [\n {\n "amount_subtotal": 10000,\n "amount_total": 10600,\n "currency": "EUR",\n "description": "Annual internet service",\n "price_id": "7e24ff5d-d580-4136-a32f-19191eed039a",\n "product_id": "6241487f-b7fd-428b-ab92-24ee0b37fd84",\n "taxes": [],\n "unit_amount": 10000,\n "unit_amount_net": 10000,\n "pricing_model": "per_unit",\n "_price": {},\n "_product": {}\n },\n {\n "amount_subtotal": 10000,\n "amount_total": 10600,\n "currency": "EUR",\n "description": "Annual internet service",\n "price_id": "7e24ff5d-d580-4136-a32f-19191eed039a",\n "product_id": "6241487f-b7fd-428b-ab92-24ee0b37fd84",\n "taxes": [],\n "unit_amount": 10000,\n "unit_amount_net": 10000,\n "pricing_model": "per_unit",\n "_price": {},\n "_product": {}\n }\n ],\n "amount_subtotal": 0,\n "amount_total": 0,\n "unit_amount_gross": 0,\n "unit_amount_net": 0,\n "amount_tax": 0,\n "total_details": {\n "amount_shipping": 0,\n "amount_tax": 0,\n "breakdown": {\n "taxes": [],\n "recurrences": [],\n "cashbacks": [],\n "recurrencesByTax": []\n }\n },\n "currency": "EUR",\n "redeemed_promos": [\n {\n "code": "string",\n "coupons": []\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `createOrder`\n\nCreate an order\n\n`POST /v1/order`\n\n```ts\nconst { data } = await client.createOrder(\n null,\n {\n status: \'draft\',\n line_items: [\n {\n external_fees_mappings: [ /* ... */ ],\n external_fees_metadata: { /* ... */ },\n external_location_metadata: { /* ... */ },\n external_price_metadata: { /* ... */ },\n _immutable_pricing_details: { /* ... */ },\n coupon_ids: [\'string\'],\n taxes: [ /* ... */ ],\n recurrences: [ /* ... */ ],\n _coupons: [ /* ... */ ],\n metadata: [ /* ... */ ],\n quantity: 0,\n product_id: \'string\',\n price_id: \'string\',\n description: \'string\',\n product_description: \'string\',\n product_name: \'string\',\n price_mappings: [ /* ... */ ],\n is_tax_inclusive: true,\n _product: { /* ... */ },\n type: \'one_time\',\n billing_period: \'weekly\',\n unit_amount: 0,\n unit_amount_gross: 0,\n unit_amount_currency: \'EUR\',\n unit_amount_decimal: \'string\',\n is_composite_price: false,\n pricing_model: \'per_unit\',\n _price: { /* ... */ }\n },\n {\n external_fees_mappings: [ /* ... */ ],\n external_fees_metadata: { /* ... */ },\n external_location_metadata: { /* ... */ },\n external_price_metadata: { /* ... */ },\n _immutable_pricing_details: { /* ... */ },\n coupon_ids: [\'string\'],\n taxes: [ /* ... */ ],\n recurrences: [ /* ... */ ],\n _coupons: [ /* ... */ ],\n metadata: [ /* ... */ ],\n quantity: 0,\n product_id: \'string\',\n price_id: \'string\',\n description: \'string\',\n product_description: \'string\',\n product_name: \'string\',\n price_mappings: [ /* ... */ ],\n is_tax_inclusive: true,\n _product: { /* ... */ },\n is_composite_price: true,\n item_components: [ /* ... */ ],\n selected_price_component_ids: [\'string\'],\n price_component_coupon_ids: {},\n _price: { /* ... */ }\n }\n ],\n source_type: \'journey\',\n currency: \'EUR\',\n contact: \'string\',\n billing_first_name: \'string\',\n billing_last_name: \'string\',\n billing_company_name: \'string\',\n billing_vat: \'string\',\n billing_email: \'string\',\n billing_phone: \'string\',\n billing_address: [\n {\n _tags: [\'billing\'],\n street: \'string\',\n street_number: \'string\',\n postal_code: \'string\',\n city: \'string\',\n country: \'string\',\n additional_info: \'string\',\n company_name: \'string\',\n first_name: \'string\',\n last_name: \'string\',\n salutation: \'string\',\n title: \'string\'\n }\n ],\n delivery_address: [\n {\n _tags: [\'billing\'],\n street: \'string\',\n street_number: \'string\',\n postal_code: \'string\',\n city: \'string\',\n country: \'string\',\n additional_info: \'string\',\n company_name: \'string\',\n first_name: \'string\',\n last_name: \'string\',\n salutation: \'string\',\n title: \'string\'\n }\n ],\n payment_method: [\n {\n type: \'string\',\n details: {}\n }\n ],\n redeemed_promos: [\n {\n code: \'string\',\n coupons: [ /* ... */ ]\n }\n ],\n _tags: [\'string\']\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "order_number": "OR 2022/742701",\n "status": "quote",\n "source": {\n "title": "manual",\n "href": null\n },\n "source_type": "manual",\n "_schema": "order",\n "_title": "OR 2022/742701",\n "expires_at": "2022-06-30T16:17:00.000Z",\n "line_items": [\n {\n "price_id": "9c36c23b-1574-4193-beff-b1b5e1124bc7",\n "product_id": "a7f4771a-6368-4d77-bb01-71f1e4902de5",\n "pricing_model": "per_unit",\n "is_composite_price": false,\n "taxes": [],\n "_price": {},\n "_product": {},\n "quantity": 16,\n "currency": "EUR",\n "description": "Solar Panel Module",\n "unit_amount": 100000,\n "unit_amount_net": 84034,\n "amount_subtotal": 1344538,\n "amount_total": 1600000\n },\n {\n "price_id": "146aa2cc-f267-4d5e-bda4-cbe2669b7741",\n "product_id": "a7f4771a-6368-4d77-bb01-71f1e4902de5",\n "pricing_model": "per_unit",\n "is_composite_price": false,\n "taxes": [],\n "_price": {},\n "_product": {},\n "quantity": 4,\n "currency": "EUR",\n "description": "Battery Module 500amps",\n "unit_amount": 50000,\n "unit_amount_net": 42017,\n "amount_subtotal": 168067,\n "amount_total": 200000\n }\n ],\n "amount_subtotal": 1532191,\n "amount_total": 1821955,\n "total_details": {\n "amount_tax": 289764,\n "breakdown": {\n "taxes": [],\n "recurrences": []\n }\n },\n "currency": "EUR",\n "payment_method": [\n {\n "type": "IBAN",\n "details": {}\n }\n ],\n "billing_contact": {\n "$relation": [\n {}\n ]\n },\n "billing_first_name": "Joao",\n "billing_last_name": "Pinho",\n "billing_email": "j.pinho@epilot.cloud",\n "billing_company_name": "epilot cloud",\n "billing_address": [\n {\n "_tags": [],\n "street": "Im Media Park",\n "street_number": "8a",\n "postal_code": "52000",\n "city": "Cologne",\n "country": "DE",\n "additional_info": ""\n }\n ],\n "delivery_address": [],\n "dates": [\n {\n "_tags": ["Instalation Date"],\n "dates": "",\n "value": "2022-06-30T16:29:00.000Z"\n }\n ],\n "_id": "4c7c9562-f8f0-4af0-a3a6-6aebc5571a6e",\n "_org": "728",\n "_created_at": "2022-06-03T16:29:46.303Z",\n "_updated_at": "2022-06-03T16:29:46.303Z"\n}\n```\n\n</details>\n\n---\n\n### `putOrder`\n\nUpdate an existing Order\n\n`PUT /v1/order/{id}`\n\n```ts\nconst { data } = await client.putOrder(\n {\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n },\n {\n status: \'draft\',\n line_items: [\n {\n external_fees_mappings: [ /* ... */ ],\n external_fees_metadata: { /* ... */ },\n external_location_metadata: { /* ... */ },\n external_price_metadata: { /* ... */ },\n _immutable_pricing_details: { /* ... */ },\n coupon_ids: [\'string\'],\n taxes: [ /* ... */ ],\n recurrences: [ /* ... */ ],\n _coupons: [ /* ... */ ],\n metadata: [ /* ... */ ],\n quantity: 0,\n product_id: \'string\',\n price_id: \'string\',\n description: \'string\',\n product_description: \'string\',\n product_name: \'string\',\n price_mappings: [ /* ... */ ],\n is_tax_inclusive: true,\n _product: { /* ... */ },\n type: \'one_time\',\n billing_period: \'weekly\',\n unit_amount: 0,\n unit_amount_gross: 0,\n unit_amount_currency: \'EUR\',\n unit_amount_decimal: \'string\',\n is_composite_price: false,\n pricing_model: \'per_unit\',\n _price: { /* ... */ }\n },\n {\n external_fees_mappings: [ /* ... */ ],\n external_fees_metadata: { /* ... */ },\n external_location_metadata: { /* ... */ },\n external_price_metadata: { /* ... */ },\n _immutable_pricing_details: { /* ... */ },\n coupon_ids: [\'string\'],\n taxes: [ /* ... */ ],\n recurrences: [ /* ... */ ],\n _coupons: [ /* ... */ ],\n metadata: [ /* ... */ ],\n quantity: 0,\n product_id: \'string\',\n price_id: \'string\',\n description: \'string\',\n product_description: \'string\',\n product_name: \'string\',\n price_mappings: [ /* ... */ ],\n is_tax_inclusive: true,\n _product: { /* ... */ },\n is_composite_price: true,\n item_components: [ /* ... */ ],\n selected_price_component_ids: [\'string\'],\n price_component_coupon_ids: {},\n _price: { /* ... */ }\n }\n ],\n source_type: \'journey\',\n currency: \'EUR\',\n contact: \'string\',\n billing_first_name: \'string\',\n billing_last_name: \'string\',\n billing_company_name: \'string\',\n billing_vat: \'string\',\n billing_email: \'string\',\n billing_phone: \'string\',\n billing_address: [\n {\n _tags: [\'billing\'],\n street: \'string\',\n street_number: \'string\',\n postal_code: \'string\',\n city: \'string\',\n country: \'string\',\n additional_info: \'string\',\n company_name: \'string\',\n first_name: \'string\',\n last_name: \'string\',\n salutation: \'string\',\n title: \'string\'\n }\n ],\n delivery_address: [\n {\n _tags: [\'billing\'],\n street: \'string\',\n street_number: \'string\',\n postal_code: \'string\',\n city: \'string\',\n country: \'string\',\n additional_info: \'string\',\n company_name: \'string\',\n first_name: \'string\',\n last_name: \'string\',\n salutation: \'string\',\n title: \'string\'\n }\n ],\n payment_method: [\n {\n type: \'string\',\n details: {}\n }\n ],\n redeemed_promos: [\n {\n code: \'string\',\n coupons: [ /* ... */ ]\n }\n ],\n _tags: [\'string\']\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "order_number": "OR 2022/742701",\n "status": "quote",\n "source": {\n "title": "manual",\n "href": null\n },\n "source_type": "manual",\n "_schema": "order",\n "_title": "OR 2022/742701",\n "expires_at": "2022-06-30T16:17:00.000Z",\n "line_items": [\n {\n "price_id": "9c36c23b-1574-4193-beff-b1b5e1124bc7",\n "product_id": "a7f4771a-6368-4d77-bb01-71f1e4902de5",\n "pricing_model": "per_unit",\n "is_composite_price": false,\n "taxes": [],\n "_price": {},\n "_product": {},\n "quantity": 16,\n "currency": "EUR",\n "description": "Solar Panel Module",\n "unit_amount": 100000,\n "unit_amount_net": 84034,\n "amount_subtotal": 1344538,\n "amount_total": 1600000\n },\n {\n "price_id": "146aa2cc-f267-4d5e-bda4-cbe2669b7741",\n "product_id": "a7f4771a-6368-4d77-bb01-71f1e4902de5",\n "pricing_model": "per_unit",\n "is_composite_price": false,\n "taxes": [],\n "_price": {},\n "_product": {},\n "quantity": 4,\n "currency": "EUR",\n "description": "Battery Module 500amps",\n "unit_amount": 50000,\n "unit_amount_net": 42017,\n "amount_subtotal": 168067,\n "amount_total": 200000\n }\n ],\n "amount_subtotal": 1532191,\n "amount_total": 1821955,\n "total_details": {\n "amount_tax": 289764,\n "breakdown": {\n "taxes": [],\n "recurrences": []\n }\n },\n "currency": "EUR",\n "payment_method": [\n {\n "type": "IBAN",\n "details": {}\n }\n ],\n "billing_contact": {\n "$relation": [\n {}\n ]\n },\n "billing_first_name": "Joao",\n "billing_last_name": "Pinho",\n "billing_email": "j.pinho@epilot.cloud",\n "billing_company_name": "epilot cloud",\n "billing_address": [\n {\n "_tags": [],\n "street": "Im Media Park",\n "street_number": "8a",\n "postal_code": "52000",\n "city": "Cologne",\n "country": "DE",\n "additional_info": ""\n }\n ],\n "delivery_address": [],\n "dates": [\n {\n "_tags": ["Instalation Date"],\n "dates": "",\n "value": "2022-06-30T16:29:00.000Z"\n }\n ],\n "_id": "4c7c9562-f8f0-4af0-a3a6-6aebc5571a6e",\n "_org": "728",\n "_created_at": "2022-06-03T16:29:46.303Z",\n "_updated_at": "2022-06-03T16:29:46.303Z"\n}\n```\n\n</details>\n\n---\n\n### `$checkoutCart`\n\nCheckouts a cart and executes the specified checkout `mode` process.\n\n`POST /v1/public/cart:checkout`\n\n```ts\nconst { data } = await client.$checkoutCart(\n {\n X-Ivy-Org-ID: \'example\',\n },\n {\n cart: \'string\',\n redeemed_promos: [\n {\n code: \'string\',\n coupons: [\n {\n _id: \'123e4567-e89b-12d3-a456-426614174000\',\n _schema: \'coupon\',\n _org: \'org_12345\',\n _created_at: \'2024-01-15T10:00:00.000Z\',\n _updated_at: \'2024-01-20T12:00:00.000Z\',\n _title: \'Sample Coupon\',\n name: \'Sample Coupon\',\n type: \'fixed\',\n fixed_value: 555,\n fixed_value_currency: \'USD\',\n fixed_value_decimal: \'5.55\',\n active: true,\n category: \'cashback\',\n prices: {\n $relation: [\n {\n entity_id: \'abc12345-def6-7890-gh12-ijklmnopqrst\',\n _tags: [\'discount\', \'special\'],\n _schema: \'price\'\n }\n ]\n }\n }\n ]\n }\n ],\n mode: \'create_order\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "order": {\n "order_number": "OR 2022/742701",\n "status": "quote",\n "source": {\n "title": "manual",\n "href": null\n },\n "source_type": "manual",\n "_schema": "order",\n "_title": "OR 2022/742701",\n "expires_at": "2022-06-30T16:17:00.000Z",\n "line_items": [\n {},\n {}\n ],\n "amount_subtotal": 1532191,\n "amount_total": 1821955,\n "total_details": {\n "amount_tax": 289764,\n "breakdown": {}\n },\n "currency": "EUR",\n "payment_method": [\n {}\n ],\n "billing_contact": {\n "$relation": []\n },\n "billing_first_name": "Joao",\n "billing_last_name": "Pinho",\n "billing_email": "j.pinho@epilot.cloud",\n "billing_company_name": "epilot cloud",\n "billing_address": [\n {}\n ],\n "delivery_address": [],\n "dates": [\n {}\n ],\n "_id": "4c7c9562-f8f0-4af0-a3a6-6aebc5571a6e",\n "_org": "728",\n "_created_at": "2022-06-03T16:29:46.303Z",\n "_updated_at": "2022-06-03T16:29:46.303Z"\n }\n}\n```\n\n</details>\n\n---\n\n### `$searchCatalog`\n\nProvides a querying functionalities over products and prices of the Catalog for a given organization.\n\n`POST /v1/public/catalog`\n\n```ts\nconst { data } = await client.$searchCatalog(\n {\n X-Ivy-Org-ID: \'example\',\n Authorization: \'example\',\n },\n {\n q: \'_id:1233432 OR _id:123432454 OR _id:23445433\',\n sort: \'description ASC\',\n from: 0,\n size: 200\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "hits": 2,\n "results": [\n {\n "schema": "product",\n "description": "product a"\n },\n {\n "schema": "price",\n "unit_amount_decimal": "124.342343434"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `$privateSearchCatalog`\n\nProvides a querying functionalities over products and prices of the Catalog for a given organization.\n\n`POST /v1/catalog`\n\n```ts\nconst { data } = await client.$privateSearchCatalog(\n null,\n {\n q: \'_id:1233432 OR _id:123432454 OR _id:23445433\',\n sort: \'description ASC\',\n from: 0,\n size: 200\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "hits": 2,\n "results": [\n {\n "schema": "product",\n "description": "product a"\n },\n {\n "schema": "price",\n "unit_amount_decimal": "124.342343434"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `$validatePromoCodes`\n\nValidate a list of promo codes against a list of coupons\n\n`POST /v1/public/validate-promo-codes`\n\n```ts\nconst { data } = await client.$validatePromoCodes(\n {\n X-Ivy-Org-ID: \'example\',\n },\n {},\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "matched_coupons": [\n {\n "_id": "123e4567-e89b-12d3-a456-426614174000",\n "_schema": "coupon",\n "_org": "org_12345",\n "_created_at": "2024-01-15T10:00:00.000Z",\n "_updated_at": "2024-01-20T12:00:00.000Z",\n "_title": "Sample Coupon",\n "name": "Sample Coupon",\n "type": "fixed",\n "fixed_value": 555,\n "fixed_value_currency": "USD",\n "fixed_value_decimal": "5.55",\n "active": true,\n "category": "cashback",\n "prices": {\n "$relation": [\n {\n "entity_id": "abc12345-def6-7890-gh12-ijklmnopqrst",\n "_tags": ["discount", "special"],\n "_schema": "price"\n }\n ]\n }\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `$availabilityCheck`\n\nThe availability check endpoint\n\n`POST /v1/public/availability:check`\n\n```ts\nconst { data } = await client.$availabilityCheck(\n {\n X-Ivy-Org-ID: \'example\',\n },\n {\n products: [\'string\'],\n filters: {\n location: {\n street: \'string\',\n street_number: \'string\',\n postal_code: \'string\',\n city: \'string\',\n country: \'string\'\n },\n available_date: \'2017-07-21\'\n }\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "available_products": [],\n "check_results": [\n {\n "product_id": "my-product-id-123-1",\n "matching_hits": 0\n },\n {\n "product_id": "my-product-id-123-2",\n "matching_hits": 0\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `$validateAvailabilityFile`\n\nValidates an availability file, it returns an array of errors if the file is invalid\n\n`GET /v1/validate-availability/{id}`\n\n```ts\nconst { data } = await client.$validateAvailabilityFile({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n X-Epilot-Org-ID: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "status": "success",\n "rules_parsed_count": 10,\n "errors": []\n}\n```\n\n</details>\n\n---\n\n### `$historicMarketPrices`\n\nGet a series of historic energy prices for a given time period, market and bidding zone.\n\n`GET /v1/public/historicMarketPrices`\n\n```ts\nconst { data } = await client.$historicMarketPrices({\n market: \'example\',\n bidding_zone: \'example\',\n frequency: \'example\',\n from: \'example\',\n to: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "market": "day_ahead",\n "bidding_zone": "AT",\n "prices": [\n {\n "unit_amount": 12.3,\n "unit_amount_decimal": "0.123",\n "unit_amount_currency": "EUR",\n "timestamp": "1970-01-01T00:00:00.000Z"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `$averageMarketPrice`\n\nGet the average energy prices for a given time period, market and bidding zone.\n\n`GET /v1/public/averageMarketPrice`\n\n```ts\nconst { data } = await client.$averageMarketPrice({\n market: \'example\',\n bidding_zone: \'example\',\n from: \'example\',\n to: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "market": "day_ahead",\n "bidding_zone": "AT",\n "price": {\n "unit_amount": 12.3,\n "unit_amount_decimal": "0.123",\n "unit_amount_currency": "EUR",\n "timestamp": "2025-01-01T00:00:00Z/2025-01-31T23:59:59Z"\n },\n "_meta": {\n "signature": "string",\n "timestamp": 0\n }\n}\n```\n\n</details>\n\n---\n\n### `$searchExternalProducts`\n\nReturns the list of available products with computed prices based on a given context and for a given org integration.\n\n`POST /v1/public/integration/{integrationId}/products`\n\n```ts\nconst { data } = await client.$searchExternalProducts(\n {\n integrationId: \'example\',\n },\n {\n context: {\n journey_id: \'8d0a2235-97ce-42d0-88a3-e374634ca44e\',\n entity_id: \'8d0a2235-97ce-42d0-88a3-e374634ca44e\',\n journey_name: \'journey name\',\n journey_tags: [\'string\'],\n journey_url_params: {},\n current_step_name: \'step name\',\n current_block_name: \'block name\',\n steps_data: [\n {\n step_name: \'string\',\n step_index: 0,\n blocks: {\n Adresse: {\n countryCode: \'DE\',\n city: \'Koblenz\',\n zipCode: \'56068\',\n streetName: \'Am Alten Hospital\',\n houseNumber: \'123\'\n }\n }\n }\n ]\n }\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "hits": 0,\n "results": [\n {\n "pricing_details": {},\n "_meta": {}\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `$searchExternalProductRecommendations`\n\nReturns the list of available product recommendations with computed prices based on a given context and for a given org integration.\n\n`POST /v1/public/integration/{integrationId}/product-recommendations`\n\n```ts\nconst { data } = await client.$searchExternalProductRecommendations(\n {\n integrationId: \'example\',\n },\n {\n context: {\n journey_id: \'8d0a2235-97ce-42d0-88a3-e374634ca44e\',\n entity_id: \'8d0a2235-97ce-42d0-88a3-e374634ca44e\',\n journey_name: \'journey name\',\n journey_tags: [\'string\'],\n journey_url_params: {},\n current_step_name: \'step name\',\n current_block_name: \'block name\',\n steps_data: [\n {\n step_name: \'string\',\n step_index: 0,\n blocks: {\n Adresse: {\n countryCode: \'DE\',\n city: \'Koblenz\',\n zipCode: \'56068\',\n streetName: \'Am Alten Hospital\',\n houseNumber: \'123\'\n }\n }\n }\n ]\n }\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "source": {\n "pricing_details": {\n "items": [],\n "amount_subtotal": 0,\n "amount_total": 0,\n "unit_amount_gross": 0,\n "unit_amount_net": 0,\n "amount_tax": 0,\n "total_details": {},\n "currency": "EUR",\n "redeemed_promos": []\n },\n "_meta": {\n "signature": "string",\n "timestamp": 0\n }\n },\n "offers": [\n {\n "pricing_details": {},\n "_meta": {}\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `$searchProviders`\n\nReturns the list of providers available based on a given location\n\n`POST /v1/public/integration/{integrationId}/providers:search`\n\n```ts\nconst { data } = await client.$searchProviders(\n {\n X-Epilot-Org-ID: \'example\',\n integrationId: \'example\',\n },\n {\n type: \'power\',\n postal_code: \'string\',\n city: \'string\',\n street: \'string\',\n street_number: \'string\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "name": "string",\n "code": "string",\n "type": "gas",\n "additionalData": {\n "gridOperators": [\n {\n "name": "string",\n "codeNumber": "string",\n "validFrom": "1970-01-01",\n "validUntil": "1970-01-01"\n }\n ],\n "defaultSuppliers": [\n {\n "name": "string",\n "codeNumber": "string",\n "validFrom": "1970-01-01",\n "validUntil": "1970-01-01"\n }\n ],\n "marketAreaDetails": {\n "gasType": "L-Gas",\n "marketArea": "string",\n "virtualTradingPoint": "string"\n }\n },\n "_meta": {\n "signature": "string",\n "timestamp": 0\n }\n }\n]\n```\n\n</details>\n\n---\n\n### `$searchStreets`\n\nReturns the list of streets available for a given postal code and city\n\n`POST /v1/public/integration/{integrationId}/streets:search`\n\n```ts\nconst { data } = await client.$searchStreets(\n {\n X-Epilot-Org-ID: \'example\',\n integrationId: \'example\',\n },\n {\n postal_code: \'string\',\n city: \'string\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n[\n {\n "street": "string"\n }\n]\n```\n\n</details>\n\n---\n\n### `$computePrice`\n\nReturns the price for a given product type based on location and consumption\n\n`POST /v1/public/integration/{integrationId}/compute-price`\n\n```ts\nconst { data } = await client.$computePrice(\n {\n X-Epilot-Org-ID: \'example\',\n integrationId: \'example\',\n },\n {\n postal_code: \'string\',\n consumption_type: \'household\',\n consumption: 0,\n consumption_HT: 0,\n consumption_NT: 0,\n association_id: \'string\',\n billing_period: \'monthly\',\n reference_date: \'1970-01-01\',\n type: \'power\',\n meter_type: \'classic\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "amount_total": 0,\n "amount_total_decimal": "string",\n "amount_static": 0,\n "amount_static_decimal": {},\n "amount_variable_ht": 0,\n "amount_variable_decimal_ht": "string",\n "unit_amount_variable_ht": 0,\n "unit_amount_variable_decimal_ht": "string",\n "amount_variable_nt": 0,\n "amount_variable_decimal_nt": "string",\n "unit_amount_variable_nt": 0,\n "unit_amount_variable_decimal_nt": "string",\n "currency": "EUR",\n "billing_period": "weekly",\n "breakdown": {\n "static": {},\n "variable": {},\n "variable_ht": {},\n "variable_nt": {}\n },\n "_meta": {\n "signature": "string",\n "timestamp": 0\n }\n}\n```\n\n</details>\n\n---\n\n### `$getCredentials`\n\nGets the credentials for a given integration / organization\n\n`GET /v1/integration/{integrationId}/credentials`\n\n```ts\nconst { data } = await client.$getCredentials({\n integrationId: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{}\n```\n\n</details>\n\n---\n\n### `$saveCredentials`\n\nSaves the credentials for a given integration / organization\n\n`PUT /v1/integration/{integrationId}/credentials:save`\n\n```ts\nconst { data } = await client.$saveCredentials(\n {\n integrationId: \'example\',\n },\n {},\n)\n```\n\n---\n\n### `$deleteCredentials`\n\nDelete the credentials for a given integration / organization\n\n`DELETE /v1/integration/{integrationId}/credentials:delete`\n\n```ts\nconst { data } = await client.$deleteCredentials({\n integrationId: \'example\',\n})\n```\n\n---\n\n### `$getExternalCatalogProducts`\n\nReturns the list of available external catalog products with computed prices based on a given context\n\n`POST /v1/public/external-catalog/products`\n\n```ts\nconst { data } = await client.$getExternalCatalogProducts(\n {\n x-epilot-org-id: \'example\',\n },\n {\n config: {\n appId: \'1234567890\',\n componentId: \'1234567890\',\n hookId: \'1234567890\'\n },\n origin: \'journey\',\n context: {\n journey_id: \'8d0a2235-97ce-42d0-88a3-e374634ca44e\',\n entity_id: \'9e1b3346-a8df-53e1-99b4-f485745db55f\',\n journey_name: \'Product Selection Journey\',\n journey_tags: [\'electricity\', \'residential\'],\n journey_url_params: {\n utm_source: \'google\',\n utm_campaign: \'spring2024\'\n },\n current_step_name: \'Product Selection\',\n current_block_name: \'Energy Products\',\n steps_data: [\n {\n step_name: \'Address Information\',\n step_index: 0,\n blocks: {\n Adresse: {\n countryCode: \'DE\',\n city: \'Koblenz\',\n zipCode: \'56068\',\n streetName: \'Am Alten Hospital\',\n houseNumber: \'123\'\n }\n }\n }\n ]\n }\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "hits": 0,\n "results": [\n {\n "pricing_details": {},\n "_meta": {}\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `$getExternalCatalogProductRecommendations`\n\nReturns the list of available external catalog products recommendations based on a given context\n\n`POST /v1/public/external-catalog/product-recommendations`\n\n```ts\nconst { data } = await client.$getExternalCatalogProductRecommendations(\n {\n x-epilot-org-id: \'example\',\n },\n {\n config: {\n appId: \'1234567890\',\n componentId: \'1234567890\',\n hookId: \'1234567890\'\n },\n origin: \'journey\',\n context: {\n journey_id: \'8d0a2235-97ce-42d0-88a3-e374634ca44e\',\n entity_id: \'9e1b3346-a8df-53e1-99b4-f485745db55f\',\n journey_name: \'Product Selection Journey\',\n journey_tags: [\'electricity\', \'residential\'],\n journey_url_params: {\n utm_source: \'google\',\n utm_campaign: \'spring2024\'\n },\n current_step_name: \'Product Selection\',\n current_block_name: \'Energy Products\',\n steps_data: [\n {\n step_name: \'Address Information\',\n step_index: 0,\n blocks: {\n Adresse: {\n countryCode: \'DE\',\n city: \'Koblenz\',\n zipCode: \'56068\',\n streetName: \'Am Alten Hospital\',\n houseNumber: \'123\'\n }\n }\n }\n ]\n }\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "source": {\n "pricing_details": {\n "items": [],\n "amount_subtotal": 0,\n "amount_total": 0,\n "unit_amount_gross": 0,\n "unit_amount_net": 0,\n "amount_tax": 0,\n "total_details": {},\n "currency": "EUR",\n "redeemed_promos": []\n },\n "_meta": {\n "signature": "string",\n "timestamp": 0\n }\n },\n "offers": [\n {\n "pricing_details": {},\n "_meta": {}\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `$productRecommendations`\n\nGet a list of product recommendations based on the search parameters.\n\n`POST /v1/public/product-recommendations`\n\n```ts\nconst { data } = await client.$productRecommendations(\n {\n X-Ivy-Org-ID: \'example\',\n },\n {\n product_recommendation_ids: [\'string\'],\n catalog_item: {\n product_id: \'string\',\n price_id: \'string\'\n },\n contract_id: \'string\',\n filters: {\n location: {\n street: \'string\',\n street_number: \'string\',\n postal_code: \'string\',\n city: \'string\',\n country: \'string\'\n },\n available_date: \'2017-07-21\'\n }\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "hits": 0,\n "results": [\n {\n "_id": "73f857a4-0fbc-4aa6-983f-87c0d6d410a6",\n "_title": "Cool box",\n "_org": "728",\n "_schema": "order",\n "_created_at": "2022-06-03T16:04:10.000Z",\n "_updated_at": "2022-06-03T16:04:10.000Z",\n "amount_subtotal": 10000,\n "amount_total": 10600,\n "currency": "EUR",\n "description": "Annual internet service",\n "price_id": "7e24ff5d-d580-4136-a32f-19191eed039a",\n "product_id": "6241487f-b7fd-428b-ab92-24ee0b37fd84",\n "taxes": [\n {\n "amount": 600,\n "tax": {\n "active": true,\n "description": "Without Behaviour",\n "rate": 6,\n "region": "DE",\n "type": "VAT",\n "_created_at": "2022-02-07T14:49:08.831Z",\n "_id": "18bbbc2e-2c37-4f91-924a-07ae60d830e4",\n "_org": "739224",\n "_schema": "tax",\n "_title": "Tax Without Behaviour",\n "_updated_at": "2022-02-07T14:49:08.831Z"\n }\n }\n ],\n "unit_amount": 10000,\n "unit_amount_net": 10000,\n "pricing_model": "per_unit",\n "_price": {\n "_id": "7e24ff5d-d580-4136-a32f-19191eed039a",\n "unit_amount": 10000,\n "unit_amount_currency": "EUR",\n "unit_amount_decimal": "100.00",\n "sales_tax": "standard",\n "is_tax_inclusive": false,\n "price_display_in_journeys": "show_price",\n "type": "one_time",\n "billing_period": "weekly",\n "billing_duration_unit": "months",\n "notice_time_unit": "months",\n "termination_time_unit": "months",\n "renewal_duration_unit": "months",\n "_schema": "price",\n "_title": "Solar Panel Module",\n "description": "Solar Panel Module",\n "active": true,\n "tax": {\n "$relation": [\n {\n "entity_id": "24641e82-0690-4135-8b43-ef12a9b1c5dc"\n }\n ]\n },\n "_org": "728",\n "_created_at": "2022-06-03T16:04:10.369Z",\n "_updated_at": "2022-06-03T16:04:10.369Z",\n "pricing_model": "per_unit"\n },\n "_product": {\n "name": "Cool box",\n "type": "product",\n "_id": "73f857a4-0fbc-4aa6-983f-87c0d6d410a6",\n "_title": "Cool box"\n }\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `$getConditionSets`\n\nReturns the condition sets built in for one conditional entity type: the situations a\nconditional Product, Price or Coupon is commonly varied by, ready to be copied into that\nschema\'s `conditions` arr\n\n`GET /v1/conditional-pricing/{slug}/condition-sets`\n\n```ts\nconst { data } = await client.$getConditionSets({\n slug: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "results": [\n {\n "id": "delivery_area",\n "label": "Delivery Area",\n "description": "string",\n "conditions": [\n {\n "name": "postal_code",\n "label": "Postal Code",\n "type": "string",\n "options": ["private", "commercial"],\n "allow_any": false,\n "format": "zipcode"\n }\n ]\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `$resolveConditionalEntity`\n\nResolves which of a conditional entity\'s variants apply to a situation, and returns each one\ncomposed: the base entity overlaid with the values of the version in effect at `as_of`.\n\n`POST /v1/conditional-pricing:resolve`\n\n```ts\nconst { data } = await client.$resolveConditionalEntity(\n null,\n {\n schema: \'product\',\n entity_id: \'price-sp26d1yo\',\n context: {\n postal_code: \'46045\',\n consumption: {\n lt: 5000\n }\n },\n as_of: \'2027-03-15T00:00:00Z\',\n options: {\n resolve_one: false\n }\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "results": [\n {\n "_id": "price-sp26d1yo",\n "_variant_id": "var-46045",\n "_version_valid_from": "2027-01-01T00:00:00.000Z",\n "_conditions": {\n "postal_code": "46045",\n "default": false\n }\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `$createConditionalVariant`\n\nCreates one variant of a conditional entity, together with the first version carrying its\nvalues. Never two calls: a variant that existed without a version would be an entity holding\na condition tuple\n\n`POST /v1/conditional-pricing/{slug}/entities/{entity_id}/variants`\n\n```ts\nconst { data } = await client.$createConditionalVariant(\n {\n slug: \'example\',\n entity_id: \'example\',\n },\n {\n conditions: {\n postal_code: \'46045\'\n },\n default: false,\n valid_from: \'2027-01-01T00:00:00Z\',\n values: {\n unit_amount: 2499,\n unit_amount_decimal: \'24.99\'\n }\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "variant_id": "var-46045",\n "entity_id": "price-sp26d1yo",\n "schema": "product",\n "conditions": {\n "postal_code": "46045",\n "default": false\n },\n "valid_from": "2027-01-01T00:00:00.000Z",\n "values": {\n "unit_amount": 2499,\n "unit_amount_decimal": "24.99"\n },\n "_created_at": "string",\n "_updated_at": "string",\n "_revision": 0,\n "warnings": [\n {\n "code": "VARIANT_COUNT_APPROACHING_CAP",\n "message": "string",\n "variant_count": 0,\n "cap": 0\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `$getActiveConditionalVariantVersion`\n\nReturns the version of this variant that is currently in effect \u2014 the one with the latest\n`valid_from` at or before now.\n\n`GET /v1/conditional-pricing/{slug}/entities/{entity_id}/variants/{variant_id}`\n\n```ts\nconst { data } = await client.$getActiveConditionalVariantVersion({\n slug: \'example\',\n entity_id: \'example\',\n variant_id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "variant_id": "var-46045",\n "entity_id": "price-sp26d1yo",\n "schema": "product",\n "conditions": {\n "postal_code": "46045",\n "default": false\n },\n "valid_from": "2027-01-01T00:00:00.000Z",\n "values": {\n "unit_amount": 2499,\n "unit_amount_decimal": "24.99"\n },\n "_created_at": "string",\n "_updated_at": "string",\n "_revision": 3\n}\n```\n\n</details>\n\n---\n\n### `$replaceActiveConditionalVariantVersion`\n\nReplaces the values of the version currently in effect, wholesale.\n\n`PUT /v1/conditional-pricing/{slug}/entities/{entity_id}/variants/{variant_id}`\n\n```ts\nconst { data } = await client.$replaceActiveConditionalVariantVersion(\n {\n slug: \'example\',\n entity_id: \'example\',\n variant_id: \'example\',\n },\n {\n values: {\n unit_amount: 2499,\n unit_amount_decimal: \'24.99\'\n },\n _revision: 3,\n valid_from: \'string\',\n conditions: {\n postal_code: \'46045\'\n }\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "variant_id": "var-46045",\n "entity_id": "price-sp26d1yo",\n "schema": "product",\n "conditions": {\n "postal_code": "46045",\n "default": false\n },\n "valid_from": "2027-01-01T00:00:00.000Z",\n "values": {\n "unit_amount": 2499,\n "unit_amount_decimal": "24.99"\n },\n "_created_at": "string",\n "_updated_at": "string",\n "_revision": 3,\n "warnings": [\n {\n "code": "ACTIVE_VERSION_REPLACED",\n "message": "string",\n "valid_from": "2026-08-01T00:00:00.000Z",\n "active_valid_from": "2026-01-01T00:00:00.000Z"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `$patchActiveConditionalVariantVersion`\n\nChanges only the fields it names on the version currently in effect.\n\n`PATCH /v1/conditional-pricing/{slug}/entities/{entity_id}/variants/{variant_id}`\n\n```ts\nconst { data } = await client.$patchActiveConditionalVariantVersion(\n {\n slug: \'example\',\n entity_id: \'example\',\n variant_id: \'example\',\n },\n {\n values: {\n unit_amount: 2499,\n unit_amount_decimal: \'24.99\'\n },\n _revision: 3,\n valid_from: \'string\',\n conditions: {\n postal_code: \'46045\'\n }\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "variant_id": "var-46045",\n "entity_id": "price-sp26d1yo",\n "schema": "product",\n "conditions": {\n "postal_code": "46045",\n "default": false\n },\n "valid_from": "2027-01-01T00:00:00.000Z",\n "values": {\n "unit_amount": 2499,\n "unit_amount_decimal": "24.99"\n },\n "_created_at": "string",\n "_updated_at": "string",\n "_revision": 3,\n "warnings": [\n {\n "code": "ACTIVE_VERSION_REPLACED",\n "message": "string",\n "valid_from": "2026-08-01T00:00:00.000Z",\n "active_valid_from": "2026-01-01T00:00:00.000Z"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `$deleteConditionalVariant`\n\nRemoves one variant of a conditional entity: the condition tuple it holds, its registration\nin the search index, and every version it accumulated.\n\n`DELETE /v1/conditional-pricing/{slug}/entities/{entity_id}/variants/{variant_id}`\n\n```ts\nconst { data } = await client.$deleteConditionalVariant({\n slug: \'example\',\n entity_id: \'example\',\n variant_id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "variant_id": "var-46045",\n "entity_id": "price-sp26d1yo",\n "schema": "product",\n "tuple_released": true,\n "versions_deleted": 0\n}\n```\n\n</details>\n\n---\n\n### `$appendConditionalVariantVersion`\n\nAppends a version to a variant: a new set of values taking effect at its own instant.\n\n`POST /v1/conditional-pricing/{slug}/entities/{entity_id}/variants/{variant_id}/versions`\n\n```ts\nconst { data } = await client.$appendConditionalVariantVersion(\n {\n slug: \'example\',\n entity_id: \'example\',\n variant_id: \'example\',\n },\n {\n valid_from: \'2027-01-01T00:00:00Z\',\n values: {\n unit_amount: 2499,\n unit_amount_decimal: \'24.99\'\n },\n conditions: {\n postal_code: \'46045\'\n }\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "variant_id": "var-46045",\n "entity_id": "price-sp26d1yo",\n "schema": "product",\n "conditions": {\n "postal_code": "46045",\n "default": false\n },\n "valid_from": "2027-01-01T00:00:00.000Z",\n "values": {\n "unit_amount": 2499,\n "unit_amount_decimal": "24.99"\n },\n "_created_at": "string",\n "_updated_at": "string",\n "_revision": 3,\n "warnings": [\n {\n "code": "ACTIVE_VERSION_REPLACED",\n "message": "string",\n "valid_from": "2026-08-01T00:00:00.000Z",\n "active_valid_from": "2026-01-01T00:00:00.000Z"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `$getConditionalVariantVersion`\n\nReturns one specific version of a variant, by the instant it takes effect \u2014 what a form editing\nthat version loads.\n\n`GET /v1/conditional-pricing/{slug}/entities/{entity_id}/variants/{variant_id}/versions/{valid_from}`\n\n```ts\nconst { data } = await client.$getConditionalVariantVersion({\n slug: \'example\',\n entity_id: \'example\',\n variant_id: \'example\',\n valid_from: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "variant_id": "var-46045",\n "entity_id": "price-sp26d1yo",\n "schema": "product",\n "conditions": {\n "postal_code": "46045",\n "default": false\n },\n "valid_from": "2027-01-01T00:00:00.000Z",\n "values": {\n "unit_amount": 2499,\n "unit_amount_decimal": "24.99"\n },\n "_created_at": "string",\n "_updated_at": "string",\n "_revision": 3\n}\n```\n\n</details>\n\n---\n\n### `$replaceConditionalVariantVersion`\n\nReplaces one version\'s values wholesale, addressed by its `valid_from`.\n\n`PUT /v1/conditional-pricing/{slug}/entities/{entity_id}/variants/{variant_id}/versions/{valid_from}`\n\n```ts\nconst { data } = await client.$replaceConditionalVariantVersion(\n {\n slug: \'example\',\n entity_id: \'example\',\n variant_id: \'example\',\n valid_from: \'example\',\n },\n {\n values: {\n unit_amount: 2499,\n unit_amount_decimal: \'24.99\'\n },\n _revision: 3,\n valid_from: \'string\',\n conditions: {\n postal_code: \'46045\'\n }\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "variant_id": "var-46045",\n "entity_id": "price-sp26d1yo",\n "schema": "product",\n "conditions": {\n "postal_code": "46045",\n "default": false\n },\n "valid_from": "2027-01-01T00:00:00.000Z",\n "values": {\n "unit_amount": 2499,\n "unit_amount_decimal": "24.99"\n },\n "_created_at": "string",\n "_updated_at": "string",\n "_revision": 3,\n "warnings": [\n {\n "code": "ACTIVE_VERSION_REPLACED",\n "message": "string",\n "valid_from": "2026-08-01T00:00:00.000Z",\n "active_valid_from": "2026-01-01T00:00:00.000Z"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `$patchConditionalVariantVersion`\n\nChanges only the fields it names on one version, addressed by its `valid_from`.\n\n`PATCH /v1/conditional-pricing/{slug}/entities/{entity_id}/variants/{variant_id}/versions/{valid_from}`\n\n```ts\nconst { data } = await client.$patchConditionalVariantVersion(\n {\n slug: \'example\',\n entity_id: \'example\',\n variant_id: \'example\',\n valid_from: \'example\',\n },\n {\n values: {\n unit_amount: 2499,\n unit_amount_decimal: \'24.99\'\n },\n _revision: 3,\n valid_from: \'string\',\n conditions: {\n postal_code: \'46045\'\n }\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "variant_id": "var-46045",\n "entity_id": "price-sp26d1yo",\n "schema": "product",\n "conditions": {\n "postal_code": "46045",\n "default": false\n },\n "valid_from": "2027-01-01T00:00:00.000Z",\n "values": {\n "unit_amount": 2499,\n "unit_amount_decimal": "24.99"\n },\n "_created_at": "string",\n "_updated_at": "string",\n "_revision": 3,\n "warnings": [\n {\n "code": "ACTIVE_VERSION_REPLACED",\n "message": "string",\n "valid_from": "2026-08-01T00:00:00.000Z",\n "active_valid_from": "2026-01-01T00:00:00.000Z"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `$deleteConditionalVariantVersion`\n\nRemoves one version of a variant.\n\n`DELETE /v1/conditional-pricing/{slug}/entities/{entity_id}/variants/{variant_id}/versions/{valid_from}`\n\n```ts\nconst { data } = await client.$deleteConditionalVariantVersion({\n slug: \'example\',\n entity_id: \'example\',\n variant_id: \'example\',\n valid_from: \'example\',\n _revision: 1,\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "variant_id": "var-46045",\n "entity_id": "price-sp26d1yo",\n "schema": "product",\n "valid_from": "2027-01-01T00:00:00.000Z",\n "warnings": [\n {\n "code": "ACTIVE_VERSION_REPLACED",\n "message": "string",\n "valid_from": "2026-08-01T00:00:00.000Z",\n "active_valid_from": "2026-01-01T00:00:00.000Z"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n## Schemas\n\n### `IntegrationId`\n\n```ts\ntype IntegrationId = "getag" | "external-catalog"\n```\n\n### `ConditionalEntitySlug`\n\nSchema slug of an entity type that can be conditional \u2014 the `{slug}` of every\nconditional-pricing route.\n\n\n```ts\ntype ConditionalEntitySlug = "product" | "price" | "coupon"\n```\n\n### `ConditionType`\n\nThe kind of value a condition holds, which decides how a variant\'s pinned value is matched\nagainst a resolve context.\n\n- `string`: an arbitrary string, matched exactly and case-sensitively\n- `number`: a numeric value\n- `date`: a single date\n- `daterange`: a window with a from and an until timestamp;\n\n```ts\ntype ConditionType = "string" | "number" | "date" | "daterange" | "boolean" | "select" | "location"\n```\n\n### `ConditionDefinition`\n\nOne condition dimension, in the shape a schema\'s `conditions` array holds it \u2014 copy it in\nverbatim.\n\n\n```ts\ntype ConditionDefinition = {\n name: string\n label: string\n type: "string" | "number" | "date" | "daterange" | "boolean" | "select" | "location"\n options?: Array<string | {\n value: string\n title?: string\n }>\n allow_any?: boolean\n format?: "zipcode" | "zipcode + town"\n}\n```\n\n### `ConditionSet`\n\nA named bundle of condition definitions, built in for one entity type.\n\n```ts\ntype ConditionSet = {\n id: string\n label: string\n description: string\n conditions: Array<{\n name: string\n label: string\n type: "string" | "number" | "date" | "daterange" | "boolean" | "select" | "location"\n options?: Array<string | {\n value: { ... }\n title?: { ... }\n }>\n allow_any?: boolean\n format?: "zipcode" | "zipcode + town"\n }>\n}\n```\n\n### `ConditionSetCatalog`\n\n```ts\ntype ConditionSetCatalog = {\n results: Array<{\n id: string\n label: string\n description: string\n conditions: Array<{\n name: { ... }\n label: { ... }\n type: { ... }\n options?: { ... }\n allow_any?: { ... }\n format?: { ... }\n }>\n }>\n}\n```\n\n### `ConditionalPricingErrorCode`\n\nMachine-readable failure mode of a conditional-pricing operation, allowing clients\nto branch on the kind of failure instead of parsing the error message.\n\n- `NOT_FOUND` (404): the addressed entity, variant or version does not exist\n- `AMBIGUOUS_RESOLUTION` (409): several variants match the given con\n\n```ts\ntype ConditionalPricingErrorCode = "NOT_FOUND" | "AMBIGUOUS_RESOLUTION" | "TUPLE_CONFLICT" | "VERSION_CONFLICT" | "CONDITION_UNDEFINED" | "OPERATOR_UNSUPPORTED" | "CONTEXT_FORMAT_INVALID" | "CONDITION_VALUE_INVALID" | "TOO_MANY_MATCHES" | "WRITE_CONFLICT"\n```\n\n### `ResolveConditionalEntityRequest`\n\n```ts\ntype ResolveConditionalEntityRequest = {\n schema: "product" | "price" | "coupon"\n entity_id: string\n context?: Record<string, unknown>\n as_of?: string\n options?: {\n resolve_one?: boolean\n }\n}\n```\n\n### `ResolveContext`\n\nThe situation to resolve for: a flat map keyed by condition name, as the entity\'s schema\ndeclares them. A condition left out of the map is not a wildcard \u2014 it matches only variants\nthat leave that condition unpinned.\n\nEach value is either an exact value, typed by its condition, or a single-operator \n\n```ts\ntype ResolveContext = Record<string, unknown>\n```\n\n### `ResolveOptions`\n\n```ts\ntype ResolveOptions = {\n resolve_one?: boolean\n}\n```\n\n### `ResolvedVariants`\n\n```ts\ntype ResolvedVariants = {\n results: Array<{\n _id: string\n _variant_id: string\n _version_valid_from: string\n _conditions: {\n default: { ... }\n }\n }>\n}\n```\n\n### `ResolvedVariant`\n\nThe entity as this variant leaves it \u2014 every attribute of a plain entity read, with the\napplicable version\'s overrides applied \u2014 plus the discriminators saying where the numbers\ncame from.\n\n\n```ts\ntype ResolvedVariant = {\n _id: string\n _variant_id: string\n _version_valid_from: string\n _conditions: {\n default: boolean\n }\n}\n```\n\n### `CreateVariantRequest`\n\n```ts\ntype CreateVariantRequest = {\n conditions?: Record<string, unknown>\n default?: boolean\n valid_from?: string\n values: Record<string, unknown>\n}\n```\n\n### `VariantConditions`\n\nA variant\'s pinned conditions as a reader sees them: the pins the schema declares, plus a\nboolean `default` saying whether this is the entity\'s fallback.\n\n`default` is always present and always a boolean, so a client can branch on "did I get the\nfallback?" without knowing how one is stored. The rese\n\n```ts\ntype VariantConditions = {\n default: boolean\n}\n```\n\n### `PinnedConditions`\n\nThe situation this variant applies to: a flat map keyed by condition name, as the entity\'s\nschema declares them. A condition left out is a wildcard \u2014 the variant applies whatever the\ncontext says for it, which is what makes adding a condition to a schema non-breaking for the\nvariants that already ex\n\n```ts\ntype PinnedConditions = Record<string, unknown>\n```\n\n### `VariantValues`\n\nThe attribute values this version overrides on the base entity, keyed by attribute name.\n\nOnly attributes currently declaring `overridable_attribute` are applied. Metadata fields\n(anything underscore-prefixed), readonly attributes, hidden attributes and non-overridable\nattributes present here are ig\n\n```ts\ntype VariantValues = Record<string, unknown>\n```\n\n### `CreatedVariant`\n\n```ts\ntype CreatedVariant = {\n variant_id: string\n entity_id: string\n schema: "product" | "price" | "coupon"\n conditions: {\n default: boolean\n }\n valid_from: string\n values: Record<string, unknown>\n _created_at?: string\n _updated_at?: string\n _revision?: number\n warnings: Array<{\n code: "VARIANT_COUNT_APPROACHING_CAP"\n message: string\n variant_count?: number\n cap?: number\n }>\n}\n```\n\n### `VariantWriteWarning`\n\n```ts\ntype VariantWriteWarning = {\n code: "VARIANT_COUNT_APPROACHING_CAP"\n message: string\n variant_count?: number\n cap?: number\n}\n```\n\n### `DeletedVariant`\n\n```ts\ntype DeletedVariant = {\n variant_id: string\n entity_id: string\n schema: "product" | "price" | "coupon"\n tuple_released: boolean\n versions_deleted: number\n}\n```\n\n### `VariantVersion`\n\nOne version of one variant: the attribute overrides it carries, the instant it takes effect,\nand the variant it belongs to.\n\nThese are the version\'s **own** overrides, not the base entity overlaid with them \u2014 this is\nwhat an editing screen loads and saves, and what it edits is the overrides. Composi\n\n```ts\ntype VariantVersion = {\n variant_id: string\n entity_id: string\n schema: "product" | "price" | "coupon"\n conditions: {\n default: boolean\n }\n valid_from: string\n values: Record<string, unknown>\n _created_at?: string\n _updated_at?: string\n _revision?: number\n}\n```\n\n### `WrittenVariantVersion`\n\nA version as a write left it, together with anything the write moved.\n\n\n```ts\ntype WrittenVariantVersion = {\n variant_id: string\n entity_id: string\n schema: "product" | "price" | "coupon"\n conditions: {\n default: boolean\n }\n valid_from: string\n values: Record<string, unknown>\n _created_at?: string\n _updated_at?: string\n _revision?: number\n warnings: Array<{\n code: "ACTIVE_VERSION_REPLACED" | "SUPERSEDED_VERSION_WRITTEN"\n message: string\n valid_from: string\n active_valid_from?: string\n }>\n}\n```\n\n### `DeletedVariantVersion`\n\n```ts\ntype DeletedVariantVersion = {\n variant_id: string\n entity_id: string\n schema: "product" | "price" | "coupon"\n valid_from: string\n warnings: Array<{\n code: "ACTIVE_VERSION_REPLACED" | "SUPERSEDED_VERSION_WRITTEN"\n message: string\n valid_from: string\n active_valid_from?: string\n }>\n}\n```\n\n### `VersionWriteWarning`\n\nSomething a version write moved. A version write is never refused for being late \u2014 backdating a\nversion, and editing or deleting one that has already been superseded, are both accepted \u2014 so\nwhat a caller gets instead is a warning naming exactly what changed. One write can carry both\ncodes.\n\n\n```ts\ntype VersionWriteWarning = {\n code: "ACTIVE_VERSION_REPLACED" | "SUPERSEDED_VERSION_WRITTEN"\n message: string\n valid_from: string\n active_valid_from?: string\n}\n```\n\n### `AppendVersionRequest`\n\n```ts\ntype AppendVersionRequest = {\n valid_from?: string\n values: Record<string, unknown>\n conditions?: Record<string, unknown>\n}\n```\n\n### `ReplaceVersionRequest`\n\n```ts\ntype ReplaceVersionRequest = {\n values: Record<string, unknown>\n _revision: number\n valid_from?: string\n conditions?: Record<string, unknown>\n}\n```\n\n### `PatchVersionRequest`\n\n```ts\ntype PatchVersionRequest = {\n values: Record<string, unknown>\n _revision: number\n valid_from?: string\n conditions?: Record<string, unknown>\n}\n```\n\n### `Error`\n\n```ts\ntype Error = {\n message: string\n status?: number\n cause?: string\n}\n```\n\n### `ConditionalPricingError`\n\nAn error from a conditional-pricing operation, carrying a machine-readable `code`\nfrom the conditional-pricing vocabulary plus any structured data about the failure,\nso a client can branch on the kind of failure rather than parse the message.\nReferenced only by the operations that emit these codes; \n\n```ts\ntype ConditionalPricingError = {\n message: string\n status?: number\n cause?: string\n error?: string\n code?: "NOT_FOUND" | "AMBIGUOUS_RESOLUTION" | "TUPLE_CONFLICT" | "VERSION_CONFLICT" | "CONDITION_UNDEFINED" | "OPERATOR_UNSUPPORTED" | "CONTEXT_FORMAT_INVALID" | "CONDITION_VALUE_INVALID" | "TOO_MANY_MATCHES" | "WRITE_CONFLICT"\n details?: Record<string, unknown>\n}\n```\n\n### `Product`\n\nThe product entity\n\n```ts\ntype Product = {\n description?: string\n code?: string\n type?: "product" | "service"\n name?: string\n categories?: string[]\n feature?: Array<{\n _tags?: string[]\n feature?: string\n }>\n cross_sellable_products?: {\n $relation?: Array<{\n entity_id?: { ... }\n _tags?: { ... }\n }>\n }\n product_images?: {\n $relation?: Array<{\n entity_id?: { ... }\n _tags?: { ... }\n }>\n } | Array<{\n _id: string\n filename: string\n mime_type: string\n versions: Array<{\n s3ref: { ... }\n }>\n _schema: string\n _org: string\n _created_at: string // date-time\n _updated_at: string // date-time\n _title?: string\n $relation?: {\n entity_id?: { ... }\n _tags?: { ... }\n }\n }>\n product_downloads?: {\n $relation?: Array<{\n entity_id?: { ... }\n _tags?: { ... }\n }>\n } | Array<{\n _id: string\n filename: string\n mime_type: string\n versions: Array<{\n s3ref: { ... }\n }>\n _schema: string\n _org: string\n _created_at: string // date-time\n _updated_at: string // date-time\n _title?: string\n $relation?: {\n entity_id?: { ... }\n _tags?: { ... }\n }\n }>\n price_options?: {\n $relation?: Array<{\n entity_id?: { ... }\n _tags?: { ... }\n }>\n }\n _availability_files?: Array<{\n _id: string\n filename: string\n mime_type: string\n versions: Array<{\n s3ref: { ... }\n }>\n _schema: string\n _org: string\n _created_at: string // date-time\n _updated_at: string // date-time\n _title?: string\n $relation?: {\n entity_id?: { ... }\n _tags?: { ... }\n }\n }>\n _id?: string\n _title?: string\n _org_id?: string\n _created_at?: string\n _updated_at?: string\n}\n```\n\n### `Opportunity`\n\nThe opportunity entity\n\n```ts\ntype Opportunity = {\n opportunity_number?: string\n opportunity_title?: string\n description?: string\n status?: string\n due_date?: string\n assignee?: Array<{\n id?: string\n email?: string\n display_name?: string\n token?: string\n image_uri?: string\n organization_id?: string\n department?: string\n preferred_language?: string\n status?: string\n phone?: string\n email_notification_settings?: object\n is_signature_enabled?: boolean\n created_at?: string\n }>\n customer?: {\n $relation?: Array<{\n entity_id?: { ... }\n _tags?: { ... }\n }>\n }\n dates?: Array<{\n _tags?: string[]\n value?: string\n }>\n billing_address?: {\n $relation_ref?: Array<{\n entity_id?: { ... }\n path?: { ... }\n }>\n }\n delivery_address?: {\n $relation_ref?: Array<{\n entity_id?: { ... }\n path?: { ... }\n }>\n }\n address?: {\n $relation_ref?: Array<{\n entity_id?: { ... }\n path?: { ... }\n }>\n }\n items?: {\n $relation?: Array<{\n entity_id?: { ... }\n _tags?: { ... }\n }>\n }\n _org_id?: string\n _id?: string\n _created_at?: string\n _updated_at?: string\n source_type?: string\n source_id?: string\n source?: {\n http?: string\n title?: string\n }\n _tags?: string[]\n}\n```\n\n### `Order`\n\nThe order entity\n\n```ts\ntype Order = {\n order_number?: string\n cart_id?: string\n status?: "draft" | "quote" | "placed" | "cancelled" | "completed"\n source_type?: string\n source_id?: string\n source?: {\n http?: string\n title?: string\n }\n metadata?: Array<{\n key?: string\n value?: string\n }>\n customer?: {\n $relation?: Array<{\n entity_id?: { ... }\n _tags?: { ... }\n }>\n }\n billing_first_name?: string\n billing_last_name?: string\n billing_company_name?: string\n billing_vat?: string\n billing_email?: string\n billing_phone?: string\n billing_address?: Array<{\n _tags?: string[]\n street?: string\n street_number?: string\n postal_code?: string\n city?: string\n country?: string\n additional_info?: string\n company_name?: string\n first_name?: string\n last_name?: string\n salutation?: string\n title?: string\n }>\n currency?: string\n delivery_address?: Array<{\n _tags?: string[]\n street?: string\n street_number?: string\n postal_code?: string\n city?: string\n country?: string\n additional_info?: string\n company_name?: string\n first_name?: string\n last_name?: string\n salutation?: string\n title?: string\n }>\n payment_method?: Array<{\n type?: string\n details?: Record<string, unknown>\n }>\n line_items?: Array<{\n metadata?: Array<{\n key?: { ... }\n value?: { ... }\n }>\n quantity?: number\n product_id?: string\n price_id?: string\n description?: string\n product_description?: string\n product_name?: string\n price_mappings?: Array<{\n price_id?: { ... }\n frequency_unit?: { ... }\n name?: { ... }\n value?: { ... }\n metadata?: { ... }\n }>\n is_tax_inclusive?: boolean\n _product?: {\n description?: { ... }\n code?: { ... }\n type?: { ... }\n name?: { ... }\n categories?: { ... }\n feature?: { ... }\n cross_sellable_products?: { ... }\n product_images?: { ... }\n product_downloads?: { ... }\n price_options?: { ... }\n _availability_files?: { ... }\n _id?: { ... }\n _title?: { ... }\n _org_id?: { ... }\n _created_at?: { ... }\n _updated_at?: { ... }\n }\n } | {\n metadata?: Array<{\n key?: { ... }\n value?: { ... }\n // ...\n}\n```\n\n### `Price`\n\nThe price entity schema for simple pricing\n\n```ts\ntype Price = {\n billing_duration_amount?: number\n billing_duration_unit?: "days" | "weeks" | "months" | "years"\n notice_time_amount?: number\n notice_time_unit?: "days" | "weeks" | "months" | "years"\n termination_time_amount?: number\n termination_time_unit?: "days" | "weeks" | "months" | "years"\n renewal_duration_amount?: number\n renewal_duration_unit?: "days" | "weeks" | "months" | "years"\n}\n```\n\n### `BaseCompositePrice`\n\nThe common properties for a composite price entity, without the price components\n\n```ts\ntype BaseCompositePrice = {\n billing_duration_amount?: number\n billing_duration_unit?: "days" | "weeks" | "months" | "years"\n notice_time_amount?: number\n notice_time_unit?: "days" | "weeks" | "months" | "years"\n termination_time_amount?: number\n termination_time_unit?: "days" | "weeks" | "months" | "years"\n renewal_duration_amount?: number\n renewal_duration_unit?: "days" | "weeks" | "months" | "years"\n}\n```\n\n### `NonHydratedCompositePrice`\n\nThe composite price entity\n\n```ts\ntype NonHydratedCompositePrice = {\n billing_duration_amount?: number\n billing_duration_unit?: "days" | "weeks" | "months" | "years"\n notice_time_amount?: number\n notice_time_unit?: "days" | "weeks" | "months" | "years"\n termination_time_amount?: number\n termination_time_unit?: "days" | "weeks" | "months" | "years"\n renewal_duration_amount?: number\n renewal_duration_unit?: "days" | "weeks" | "months" | "years"\n}\n```\n\n### `HydratedCompositePrice`\n\nThe composite price entity\n\n```ts\ntype HydratedCompositePrice = {\n billing_duration_amount?: number\n billing_duration_unit?: "days" | "weeks" | "months" | "years"\n notice_time_amount?: number\n notice_time_unit?: "days" | "weeks" | "months" | "years"\n termination_time_amount?: number\n termination_time_unit?: "days" | "weeks" | "months" | "years"\n renewal_duration_amount?: number\n renewal_duration_unit?: "days" | "weeks" | "months" | "years"\n}\n```\n\n### `CompositePrice`\n\nThe composite price entity\n\n```ts\ntype CompositePrice = {\n billing_duration_amount?: number\n billing_duration_unit?: "days" | "weeks" | "months" | "years"\n notice_time_amount?: number\n notice_time_unit?: "days" | "weeks" | "months" | "years"\n termination_time_amount?: number\n termination_time_unit?: "days" | "weeks" | "months" | "years"\n renewal_duration_amount?: number\n renewal_duration_unit?: "days" | "weeks" | "months" | "years"\n} | {\n billing_duration_amount?: number\n billing_duration_unit?: "days" | "weeks" | "months" | "years"\n notice_time_amount?: number\n notice_time_unit?: "days" | "weeks" | "months" | "years"\n termination_time_amount?: number\n termination_time_unit?: "days" | "weeks" | "months" | "years"\n renewal_duration_amount?: number\n renewal_duration_unit?: "days" | "weeks" | "months" | "years"\n}\n```\n\n### `PriceComponentRelation`\n\n```ts\ntype PriceComponentRelation = {\n entity_id?: string\n quantity?: number\n _tags?: string[]\n}\n```\n\n### `MetaData`\n\nA set of key-value pairs used to store meta data information about an entity.\n\n```ts\ntype MetaData = Array<{\n key?: string\n value?: string\n}>\n```\n\n### `PriceInputMappings`\n\n```ts\ntype PriceInputMappings = Array<{\n price_id?: string\n frequency_unit?: "weekly" | "monthly" | "every_quarter" | "every_6_months" | "yearly" | "one_time"\n name?: string\n value?: number\n metadata?: Record<string, string>\n}>\n```\n\n### `PriceInputMapping`\n\n```ts\ntype PriceInputMapping = {\n price_id?: string\n frequency_unit?: "weekly" | "monthly" | "every_quarter" | "every_6_months" | "yearly" | "one_time"\n name?: string\n value?: number\n metadata?: Record<string, string>\n}\n```\n\n### `PriceConditions`\n\n```ts\ntype PriceConditions = {\n billing_duration_amount?: number\n billing_duration_unit?: "days" | "weeks" | "months" | "years"\n notice_time_amount?: number\n notice_time_unit?: "days" | "weeks" | "months" | "years"\n termination_time_amount?: number\n termination_time_unit?: "days" | "weeks" | "months" | "years"\n renewal_duration_amount?: number\n renewal_duration_unit?: "days" | "weeks" | "months" | "years"\n}\n```\n\n### `ExternalFeeMetadata`\n\n```ts\ntype ExternalFeeMetadata = {\n amount_total: number\n amount_total_decimal: string\n amount_static?: number\n amount_static_decimal?: unknown\n amount_variable_ht?: number\n amount_variable_decimal_ht?: string\n unit_amount_variable_ht?: number\n unit_amount_variable_decimal_ht?: string\n amount_variable_nt?: number\n amount_variable_decimal_nt?: string\n unit_amount_variable_nt?: number\n unit_amount_variable_decimal_nt?: string\n currency: string\n billing_period: "weekly" | "monthly" | "every_quarter" | "every_6_months" | "yearly" | "one_time"\n breakdown: {\n static?: Record<string, {\n amount: { ... }\n amount_decimal: { ... }\n unit_amount?: { ... }\n unit_amount_decimal?: { ... }\n }>\n variable?: Record<string, {\n amount: { ... }\n amount_decimal: { ... }\n unit_amount?: { ... }\n unit_amount_decimal?: { ... }\n }>\n variable_ht?: Record<string, {\n amount: { ... }\n amount_decimal: { ... }\n unit_amount?: { ... }\n unit_amount_decimal?: { ... }\n }>\n variable_nt?: Record<string, {\n amount: { ... }\n amount_decimal: { ... }\n unit_amount?: { ... }\n unit_amount_decimal?: { ... }\n }>\n }\n _meta?: {\n signature: string\n timestamp: number\n }\n}\n```\n\n### `ExternalLocationMetadata`\n\n```ts\ntype ExternalLocationMetadata = {\n name: string\n code: string\n type: "gas" | "power"\n additionalData: {\n gridOperators: Array<{\n name: { ... }\n codeNumber: { ... }\n validFrom?: { ... }\n validUntil?: { ... }\n }>\n defaultSuppliers: Array<{\n name: { ... }\n codeNumber: { ... }\n validFrom?: { ... }\n validUntil?: { ... }\n }>\n marketAreaDetails: {\n gasType?: { ... }\n marketArea?: { ... }\n virtualTradingPoint?: { ... }\n } | {\n controlZone?: { ... }\n balancingZone?: { ... }\n }\n }\n _meta?: {\n signature: string\n timestamp: number\n }\n}\n```\n\n### `ExternalPriceMetadata`\n\n```ts\ntype ExternalPriceMetadata = {\n market: "day_ahead"\n bidding_zone: "AT" | "DE-LU"\n price: {\n unit_amount: number\n unit_amount_decimal: string\n unit_amount_currency: string\n timestamp: string\n }\n _meta?: {\n signature: string\n timestamp: number\n }\n}\n```\n\n### `ExternalFeeMappings`\n\n```ts\ntype ExternalFeeMappings = Array<{\n price_id?: string\n frequency_unit?: "weekly" | "monthly" | "every_quarter" | "every_6_months" | "yearly" | "one_time"\n amount_total?: number\n amount_total_decimal?: string\n}>\n```\n\n### `ExternalFeeMapping`\n\n```ts\ntype ExternalFeeMapping = {\n price_id?: string\n frequency_unit?: "weekly" | "monthly" | "every_quarter" | "every_6_months" | "yearly" | "one_time"\n amount_total?: number\n amount_total_decimal?: string\n}\n```\n\n### `CatalogSearch`\n\nA catalog search payload\n\n```ts\ntype CatalogSearch = {\n q: string\n sort?: string\n from?: number\n size?: number\n hydrate?: boolean\n fields?: string[]\n availability?: {\n location: {\n street?: { ... }\n street_number?: { ... }\n postal_code?: { ... }\n city?: { ... }\n country?: { ... }\n }\n available_date?: string // date\n }\n}\n```\n\n### `CatalogFieldsParam`\n\nList of entity fields to include or exclude from the results.\n\n\n```ts\ntype CatalogFieldsParam = string[]\n```\n\n### `CatalogSearchResult`\n\nThe query result payload\n\n```ts\ntype CatalogSearchResult = {\n hits?: number\n results?: Array<{\n description?: string\n code?: string\n type?: "product" | "service"\n name?: string\n categories?: string[]\n feature?: Array<{\n _tags?: { ... }\n feature?: { ... }\n }>\n cross_sellable_products?: {\n $relation?: { ... }\n }\n product_images?: {\n $relation?: { ... }\n } | Array<{\n _id: { ... }\n filename: { ... }\n mime_type: { ... }\n versions: { ... }\n _schema: { ... }\n _org: { ... }\n _created_at: { ... }\n _updated_at: { ... }\n _title?: { ... }\n $relation?: { ... }\n }>\n product_downloads?: {\n $relation?: { ... }\n } | Array<{\n _id: { ... }\n filename: { ... }\n mime_type: { ... }\n versions: { ... }\n _schema: { ... }\n _org: { ... }\n _created_at: { ... }\n _updated_at: { ... }\n _title?: { ... }\n $relation?: { ... }\n }>\n price_options?: {\n $relation?: { ... }\n }\n _availability_files?: Array<{\n _id: { ... }\n filename: { ... }\n mime_type: { ... }\n versions: { ... }\n _schema: { ... }\n _org: { ... }\n _created_at: { ... }\n _updated_at: { ... }\n _title?: { ... }\n $relation?: { ... }\n }>\n _id?: string\n _title?: string\n _org_id?: string\n _created_at?: string\n _updated_at?: string\n } | {\n billing_duration_amount?: number\n billing_duration_unit?: "days" | "weeks" | "months" | "years"\n notice_time_amount?: number\n notice_time_unit?: "days" | "weeks" | "months" | "years"\n termination_time_amount?: number\n termination_time_unit?: "days" | "weeks" | "months" | "years"\n renewal_duration_amount?: number\n renewal_duration_unit?: "days" | "weeks" | "months" | "years"\n } | {\n _id: string // uuid\n _title: string\n _org: string\n _schema: "coupon"\n _tags?: string[]\n _created_at: string // date-time\n _updated_at: string // date-time\n name: string\n description?: string\n type: "fixed" | "percentage"\n category: "discount" | "cashback"\n percentage_value?: string\n fixed_value?: number\n fixed_value_decimal?: string\n fixed_value_currency?: string\n cashback_period?: "0" | "12"\n active?: boolean\n requires_promo_code?: boolean\n }>\n}\n```\n\n### `SearchProvidersParams`\n\nA search providers payload\n\n```ts\ntype SearchProvidersParams = {\n type: "power" | "gas"\n postal_code: string\n city?: string\n street?: string\n street_number?: string\n}\n```\n\n### `SearchStreetsParams`\n\nA search streets payload\n\n```ts\ntype SearchStreetsParams = {\n postal_code: string\n city: string\n}\n```\n\n### `AvailabilityCheckParams`\n\nAvailability check request payload\n\n```ts\ntype AvailabilityCheckParams = {\n products: string[]\n filters: {\n location: {\n street?: { ... }\n street_number?: { ... }\n postal_code?: { ... }\n city?: { ... }\n country?: { ... }\n }\n available_date?: string // date\n }\n}\n```\n\n### `AvailabilityResult`\n\nThe product availability check result payload\n\n```ts\ntype AvailabilityResult = {\n available_products: string[]\n check_results?: Array<{\n product_id: string\n matching_hits?: number\n matching_error?: Record<string, unknown>\n }>\n}\n```\n\n### `ValidateAvailabilityFileError`\n\nThe availability rule error\n\n```ts\ntype ValidateAvailabilityFileError = {\n line?: number\n msg: string\n data?: string\n}\n```\n\n### `IntegrationCredentialsResult`\n\nThe auth credentials for external integrations\n\n```ts\ntype IntegrationCredentialsResult = {\n username: string\n password: string\n auth_type?: "basic_auth"\n base_url?: string\n} | {\n auth_type: "oauth"\n oauth: {\n client_id: string\n client_secret: string\n authorization_url: string\n grant_type: "client_credentials"\n scope?: string\n access_token?: string\n access_token_expires_in?: number\n access_token_expires_at?: number\n }\n base_url?: string\n}\n```\n\n### `SaveIntegrationCredentialsParams`\n\nThe auth credentials for external integrations\n\n```ts\ntype SaveIntegrationCredentialsParams = {\n username: string\n password: string\n auth_type?: "basic_auth"\n base_url?: string\n} | {\n auth_type: "oauth"\n oauth: {\n client_id: string\n client_secret: string\n authorization_url: string\n grant_type: "client_credentials"\n scope?: string\n access_token?: string\n access_token_expires_in?: number\n access_token_expires_at?: number\n }\n base_url?: string\n}\n```\n\n### `ComputePriceParamsBase`\n\n```ts\ntype ComputePriceParamsBase = {\n postal_code: string\n consumption_type?: "household" | "heating_pump" | "night_storage_heating" | "night_storage_heating_common_meter"\n consumption?: number\n consumption_HT?: number\n consumption_NT?: number\n association_id?: string\n billing_period?: "weekly" | "monthly" | "every_quarter" | "every_6_months" | "yearly" | "one_time"\n reference_date?: string // date\n}\n```\n\n### `ComputePriceParamsPower`\n\n```ts\ntype ComputePriceParamsPower = {\n postal_code: string\n consumption_type?: "household" | "heating_pump" | "night_storage_heating" | "night_storage_heating_common_meter"\n consumption?: number\n consumption_HT?: number\n consumption_NT?: number\n association_id?: string\n billing_period?: "weekly" | "monthly" | "every_quarter" | "every_6_months" | "yearly" | "one_time"\n reference_date?: string // date\n type: "power"\n meter_type?: "classic" | "smart" | "digital"\n}\n```\n\n### `ComputePriceParamsGas`\n\n```ts\ntype ComputePriceParamsGas = {\n postal_code: string\n consumption_type?: "household" | "heating_pump" | "night_storage_heating" | "night_storage_heating_common_meter"\n consumption?: number\n consumption_HT?: number\n consumption_NT?: number\n association_id?: string\n billing_period?: "weekly" | "monthly" | "every_quarter" | "every_6_months" | "yearly" | "one_time"\n reference_date?: string // date\n type: "gas"\n concession_type?: "standard" | "special"\n}\n```\n\n### `SignatureMeta`\n\nSignature meta data payload\n\n```ts\ntype SignatureMeta = {\n signature: string\n timestamp: number\n}\n```\n\n### `ComputedBasePrice`\n\nThe computed price\n\n```ts\ntype ComputedBasePrice = {\n amount: number\n amount_decimal: string\n unit_amount?: number\n unit_amount_decimal?: string\n}\n```\n\n### `ComputePriceParams`\n\nThe compute price payload\n\n```ts\ntype ComputePriceParams = {\n postal_code: string\n consumption_type?: "household" | "heating_pump" | "night_storage_heating" | "night_storage_heating_common_meter"\n consumption?: number\n consumption_HT?: number\n consumption_NT?: number\n association_id?: string\n billing_period?: "weekly" | "monthly" | "every_quarter" | "every_6_months" | "yearly" | "one_time"\n reference_date?: string // date\n type: "power"\n meter_type?: "classic" | "smart" | "digital"\n} | {\n postal_code: string\n consumption_type?: "household" | "heating_pump" | "night_storage_heating" | "night_storage_heating_common_meter"\n consumption?: number\n consumption_HT?: number\n consumption_NT?: number\n association_id?: string\n billing_period?: "weekly" | "monthly" | "every_quarter" | "every_6_months" | "yearly" | "one_time"\n reference_date?: string // date\n type: "gas"\n concession_type?: "standard" | "special"\n}\n```\n\n### `GasConcessionType`\n\nThe concession type for gas\n\n```ts\ntype GasConcessionType = "standard" | "special"\n```\n\n### `PowerMeterType`\n\nThe meter type for power\n\n```ts\ntype PowerMeterType = "classic" | "smart" | "digital"\n```\n\n### `DynamicTariffMode`\n\nThe mode of the dynamic tariff. `day_ahead_market` uses the Day-Ahead spot market price as base.\n\n```ts\ntype DynamicTariffMode = "day_ahead_market" | "manual"\n```\n\n### `DynamicTariffInterval`\n\nThe interval of the tariff if a spot market price is used as base.\n\n```ts\ntype DynamicTariffInterval = "hourly" | "monthly_average"\n```\n\n### `ComputedPriceBreakdown`\n\nPrice breakdown\n\n```ts\ntype ComputedPriceBreakdown = {\n static?: Record<string, {\n amount: number\n amount_decimal: string\n unit_amount?: number\n unit_amount_decimal?: string\n }>\n variable?: Record<string, {\n amount: number\n amount_decimal: string\n unit_amount?: number\n unit_amount_decimal?: string\n }>\n variable_ht?: Record<string, {\n amount: number\n amount_decimal: string\n unit_amount?: number\n unit_amount_decimal?: string\n }>\n variable_nt?: Record<string, {\n amount: number\n amount_decimal: string\n unit_amount?: number\n unit_amount_decimal?: string\n }>\n}\n```\n\n### `ComputedPriceComponents`\n\nThe computed price components\n\n```ts\ntype ComputedPriceComponents = Record<string, {\n amount: number\n amount_decimal: string\n unit_amount?: number\n unit_amount_decimal?: string\n}>\n```\n\n### `ComputePriceResult`\n\n```ts\ntype ComputePriceResult = {\n amount_total: number\n amount_total_decimal: string\n amount_static?: number\n amount_static_decimal?: unknown\n amount_variable_ht?: number\n amount_variable_decimal_ht?: string\n unit_amount_variable_ht?: number\n unit_amount_variable_decimal_ht?: string\n amount_variable_nt?: number\n amount_variable_decimal_nt?: string\n unit_amount_variable_nt?: number\n unit_amount_variable_decimal_nt?: string\n currency: string\n billing_period: "weekly" | "monthly" | "every_quarter" | "every_6_months" | "yearly" | "one_time"\n breakdown: {\n static?: Record<string, {\n amount: { ... }\n amount_decimal: { ... }\n unit_amount?: { ... }\n unit_amount_decimal?: { ... }\n }>\n variable?: Record<string, {\n amount: { ... }\n amount_decimal: { ... }\n unit_amount?: { ... }\n unit_amount_decimal?: { ... }\n }>\n variable_ht?: Record<string, {\n amount: { ... }\n amount_decimal: { ... }\n unit_amount?: { ... }\n unit_amount_decimal?: { ... }\n }>\n variable_nt?: Record<string, {\n amount: { ... }\n amount_decimal: { ... }\n unit_amount?: { ... }\n unit_amount_decimal?: { ... }\n }>\n }\n _meta?: {\n signature: string\n timestamp: number\n }\n}\n```\n\n### `SpotMarketBiddingZone`\n\nThe bidding zone for a spot market price.\n\n```ts\ntype SpotMarketBiddingZone = "AT" | "DE-LU"\n```\n\n### `SpotMarketType`\n\nThe market for a spot market price.\n\n```ts\ntype SpotMarketType = "day_ahead"\n```\n\n### `SpotMarketDataFrequency`\n\nThe aggregation frequency for a series of spot market price data.\n\n```ts\ntype SpotMarketDataFrequency = "PT15M" | "PT1H" | "P1D" | "P1M"\n```\n\n### `HistoricMarketPricesResult`\n\n```ts\ntype HistoricMarketPricesResult = {\n market: "day_ahead"\n bidding_zone: "AT" | "DE-LU"\n prices: Array<{\n unit_amount: number\n unit_amount_decimal: string\n unit_amount_currency: string\n timestamp: string // date-time\n }>\n}\n```\n\n### `AverageMarketPriceResult`\n\n```ts\ntype AverageMarketPriceResult = {\n market: "day_ahead"\n bidding_zone: "AT" | "DE-LU"\n price: {\n unit_amount: number\n unit_amount_decimal: string\n unit_amount_currency: string\n timestamp: string\n }\n _meta?: {\n signature: string\n timestamp: number\n }\n}\n```\n\n### `AverageMarketPriceRecord`\n\nAn average market price over a given period in time.\n\n```ts\ntype AverageMarketPriceRecord = {\n unit_amount: number\n unit_amount_decimal: string\n unit_amount_currency: string\n timestamp: string\n}\n```\n\n### `HistoricMarketPriceRecord`\n\nA market price at a given point in time.\n\n```ts\ntype HistoricMarketPriceRecord = {\n unit_amount: number\n unit_amount_decimal: string\n unit_amount_currency: string\n timestamp: string // date-time\n}\n```\n\n### `BaseMarketPriceRecord`\n\n```ts\ntype BaseMarketPriceRecord = {\n unit_amount: number\n unit_amount_decimal: string\n unit_amount_currency: string\n}\n```\n\n### `OAuthCredentials`\n\n```ts\ntype OAuthCredentials = {\n client_id: string\n client_secret: string\n authorization_url: string\n grant_type: "client_credentials"\n scope?: string\n access_token?: string\n access_token_expires_in?: number\n access_token_expires_at?: number\n}\n```\n\n### `BasicAuthCredentials`\n\n```ts\ntype BasicAuthCredentials = {\n username: string\n password: string\n}\n```\n\n### `BasicAuthIntegration`\n\n```ts\ntype BasicAuthIntegration = {\n username: string\n password: string\n auth_type?: "basic_auth"\n base_url?: string\n}\n```\n\n### `OAuthIntegration`\n\n```ts\ntype OAuthIntegration = {\n auth_type: "oauth"\n oauth: {\n client_id: string\n client_secret: string\n authorization_url: string\n grant_type: "client_credentials"\n scope?: string\n access_token?: string\n access_token_expires_in?: number\n access_token_expires_at?: number\n }\n base_url?: string\n}\n```\n\n### `IntegrationAuthCredentials`\n\nThe auth credentials for external integrations\n\n```ts\ntype IntegrationAuthCredentials = {\n username: string\n password: string\n auth_type?: "basic_auth"\n base_url?: string\n} | {\n auth_type: "oauth"\n oauth: {\n client_id: string\n client_secret: string\n authorization_url: string\n grant_type: "client_credentials"\n scope?: string\n access_token?: string\n access_token_expires_in?: number\n access_token_expires_at?: number\n }\n base_url?: string\n}\n```\n\n### `SearchStreetsResult`\n\nThe search providers payload\n\n```ts\ntype SearchStreetsResult = Array<{\n street: string\n}>\n```\n\n### `SearchProvidersResult`\n\nThe search providers payload\n\n```ts\ntype SearchProvidersResult = Array<{\n name: string\n code: string\n type: "gas" | "power"\n additionalData: {\n gridOperators: Array<{\n name: { ... }\n codeNumber: { ... }\n validFrom?: { ... }\n validUntil?: { ... }\n }>\n defaultSuppliers: Array<{\n name: { ... }\n codeNumber: { ... }\n validFrom?: { ... }\n validUntil?: { ... }\n }>\n marketAreaDetails: {\n gasType?: { ... }\n marketArea?: { ... }\n virtualTradingPoint?: { ... }\n } | {\n controlZone?: { ... }\n balancingZone?: { ... }\n }\n }\n _meta?: {\n signature: string\n timestamp: number\n }\n}>\n```\n\n### `Provider`\n\nThe provider entity\n\n```ts\ntype Provider = {\n name: string\n code: string\n type: "gas" | "power"\n additionalData: {\n gridOperators: Array<{\n name: { ... }\n codeNumber: { ... }\n validFrom?: { ... }\n validUntil?: { ... }\n }>\n defaultSuppliers: Array<{\n name: { ... }\n codeNumber: { ... }\n validFrom?: { ... }\n validUntil?: { ... }\n }>\n marketAreaDetails: {\n gasType?: { ... }\n marketArea?: { ... }\n virtualTradingPoint?: { ... }\n } | {\n controlZone?: { ... }\n balancingZone?: { ... }\n }\n }\n _meta?: {\n signature: string\n timestamp: number\n }\n}\n```\n\n### `AdditionalProviderData`\n\nAdditional data included in the provider entity\n\n```ts\ntype AdditionalProviderData = {\n gridOperators: Array<{\n name: string\n codeNumber: string\n validFrom?: string // date\n validUntil?: string // date\n }>\n defaultSuppliers: Array<{\n name: string\n codeNumber: string\n validFrom?: string // date\n validUntil?: string // date\n }>\n marketAreaDetails: {\n gasType?: "L-Gas" | "H-Gas"\n marketArea?: string\n virtualTradingPoint?: string\n } | {\n controlZone?: string\n balancingZone?: string\n }\n}\n```\n\n### `MarketParticipant`\n\nMarket participant data\n\n```ts\ntype MarketParticipant = {\n name: string\n codeNumber: string\n validFrom?: string // date\n validUntil?: string // date\n}\n```\n\n### `GasMarketAreaDetails`\n\nMarket area details for gas\n\n```ts\ntype GasMarketAreaDetails = {\n gasType?: "L-Gas" | "H-Gas"\n marketArea?: string\n virtualTradingPoint?: string\n}\n```\n\n### `PowerMarketAreaDetails`\n\nMarket area details for power\n\n```ts\ntype PowerMarketAreaDetails = {\n controlZone?: string\n balancingZone?: string\n}\n```\n\n### `Street`\n\nThe street entity\n\n```ts\ntype Street = {\n street: string\n}\n```\n\n### `ValidateAvailabilityFileResult`\n\nThe availability map file result payload\n\n```ts\ntype ValidateAvailabilityFileResult = {\n status: "success" | "error"\n rules_parsed_count: number\n errors: Array<{\n line?: number\n msg: string\n data?: string\n }>\n}\n```\n\n### `CartDto`\n\nA valid cart payload from a client.\n\n```ts\ntype CartDto = {\n metadata?: Array<{\n key?: string\n value?: string\n }>\n customer?: {\n first_name?: string\n last_name?: string\n company_name?: string\n vat_id?: string\n email?: string\n phone?: string\n }\n billing_address?: {\n _tags?: string[]\n street?: string\n street_number?: string\n postal_code?: string\n city?: string\n country?: string\n additional_info?: string\n company_name?: string\n first_name?: string\n last_name?: string\n salutation?: string\n title?: string\n }\n delivery_address?: {\n _tags?: string[]\n street?: string\n street_number?: string\n postal_code?: string\n city?: string\n country?: string\n additional_info?: string\n company_name?: string\n first_name?: string\n last_name?: string\n salutation?: string\n title?: string\n }\n source_type?: string\n source_id?: string\n source?: {\n http?: string\n title?: string\n }\n additional_addresses?: Array<{\n _tags?: string[]\n street?: string\n street_number?: string\n postal_code?: string\n city?: string\n country?: string\n additional_info?: string\n company_name?: string\n first_name?: string\n last_name?: string\n salutation?: string\n title?: string\n }>\n payment_method?: {\n type?: string\n details?: Record<string, unknown>\n }\n line_items: Array<{\n external_fees_mappings?: Array<{\n price_id?: { ... }\n frequency_unit?: { ... }\n amount_total?: { ... }\n amount_total_decimal?: { ... }\n }>\n external_fees_metadata?: {\n amount_total: { ... }\n amount_total_decimal: { ... }\n amount_static?: { ... }\n amount_static_decimal?: { ... }\n amount_variable_ht?: { ... }\n amount_variable_decimal_ht?: { ... }\n unit_amount_variable_ht?: { ... }\n unit_amount_variable_decimal_ht?: { ... }\n amount_variable_nt?: { ... }\n amount_variable_decimal_nt?: { ... }\n unit_amount_variable_nt?: { ... }\n unit_amount_variable_decimal_nt?: { ... }\n currency: { ... }\n billing_period: { ... }\n breakdown: { ... }\n _meta?: { ... }\n }\n external_location_metadata?: {\n name: { ... }\n code: { ... }\n type: { ... }\n additionalData: { ... }\n _meta?: { ... }\n }\n external_price_metadata?: {\n market: { ... }\n bidding_zone: { ... }\n // ...\n}\n```\n\n### `CheckoutCart`\n\nThe cart checkout request payload\n\n```ts\ntype CheckoutCart = {\n cart?: string | {\n metadata?: Array<{\n key?: { ... }\n value?: { ... }\n }>\n customer?: {\n first_name?: { ... }\n last_name?: { ... }\n company_name?: { ... }\n vat_id?: { ... }\n email?: { ... }\n phone?: { ... }\n }\n billing_address?: {\n _tags?: { ... }\n street?: { ... }\n street_number?: { ... }\n postal_code?: { ... }\n city?: { ... }\n country?: { ... }\n additional_info?: { ... }\n company_name?: { ... }\n first_name?: { ... }\n last_name?: { ... }\n salutation?: { ... }\n title?: { ... }\n }\n delivery_address?: {\n _tags?: { ... }\n street?: { ... }\n street_number?: { ... }\n postal_code?: { ... }\n city?: { ... }\n country?: { ... }\n additional_info?: { ... }\n company_name?: { ... }\n first_name?: { ... }\n last_name?: { ... }\n salutation?: { ... }\n title?: { ... }\n }\n source_type?: string\n source_id?: string\n source?: {\n http?: { ... }\n title?: { ... }\n }\n additional_addresses?: Array<{\n _tags?: { ... }\n street?: { ... }\n street_number?: { ... }\n postal_code?: { ... }\n city?: { ... }\n country?: { ... }\n additional_info?: { ... }\n company_name?: { ... }\n first_name?: { ... }\n last_name?: { ... }\n salutation?: { ... }\n title?: { ... }\n }>\n payment_method?: {\n type?: { ... }\n details?: { ... }\n }\n line_items: Array<{\n external_fees_mappings?: { ... }\n external_fees_metadata?: { ... }\n external_location_metadata?: { ... }\n external_price_metadata?: { ... }\n _immutable_pricing_details?: { ... }\n coupon_ids?: { ... }\n taxes?: { ... }\n recurrences?: { ... }\n _coupons?: { ... }\n type?: { ... }\n billing_period?: { ... }\n unit_amount?: { ... }\n unit_amount_gross?: { ... }\n unit_amount_currency?: { ... }\n unit_amount_decimal?: { ... }\n is_composite_price?: { ... }\n pricing_model?: { ... }\n _price?: { ... }\n } | {\n external_fees_mappings?: { ... }\n external_fees_metadata?: { ... }\n external_location_metadata?: { ... }\n external_price_metadata?: { ... }\n _immutable_pricing_details?: { ... }\n coupon_ids?: { ... }\n taxes?: { ... }\n recurrences?: { ... }\n _coupons?: { ... }\n is_composite_price: { ... }\n item_components?: { ... }\n selected_price_component_ids?: { ... }\n price_component_coupon_ids?: { ... }\n _price?: { ... }\n // ...\n}\n```\n\n### `CheckoutCartResult`\n\nThe cart checkout result\n\n```ts\ntype CheckoutCartResult = {\n order?: {\n order_number?: string\n cart_id?: string\n status?: "draft" | "quote" | "placed" | "cancelled" | "completed"\n source_type?: string\n source_id?: string\n source?: {\n http?: { ... }\n title?: { ... }\n }\n metadata?: Array<{\n key?: { ... }\n value?: { ... }\n }>\n customer?: {\n $relation?: { ... }\n }\n billing_first_name?: string\n billing_last_name?: string\n billing_company_name?: string\n billing_vat?: string\n billing_email?: string\n billing_phone?: string\n billing_address?: Array<{\n _tags?: { ... }\n street?: { ... }\n street_number?: { ... }\n postal_code?: { ... }\n city?: { ... }\n country?: { ... }\n additional_info?: { ... }\n company_name?: { ... }\n first_name?: { ... }\n last_name?: { ... }\n salutation?: { ... }\n title?: { ... }\n }>\n currency?: string\n delivery_address?: Array<{\n _tags?: { ... }\n street?: { ... }\n street_number?: { ... }\n postal_code?: { ... }\n city?: { ... }\n country?: { ... }\n additional_info?: { ... }\n company_name?: { ... }\n first_name?: { ... }\n last_name?: { ... }\n salutation?: { ... }\n title?: { ... }\n }>\n payment_method?: Array<{\n type?: { ... }\n details?: { ... }\n }>\n line_items?: Array<{\n metadata?: { ... }\n quantity?: { ... }\n product_id?: { ... }\n price_id?: { ... }\n description?: { ... }\n product_description?: { ... }\n product_name?: { ... }\n price_mappings?: { ... }\n is_tax_inclusive?: { ... }\n _product?: { ... }\n } | {\n metadata?: { ... }\n quantity?: { ... }\n product_id?: { ... }\n price_id?: { ... }\n description?: { ... }\n product_description?: { ... }\n product_name?: { ... }\n price_mappings?: { ... }\n is_tax_inclusive?: { ... }\n _product?: { ... }\n }>\n products?: {\n $relation?: { ... }\n }\n prices?: {\n $relation?: { ... }\n }\n coupons?: {\n $relation?: { ... }\n }\n amount_subtotal?: number\n amount_total?: number\n total_details?: {\n amount_shipping?: { ... }\n amount_tax?: { ... }\n breakdown?: { ... }\n }\n _org_id?: string\n _id?: string\n _created_at?: string\n _updated_at?: string\n // ...\n}\n```\n\n### `CheckoutMode`\n\nThe checkout mode for the cart checkout.\n\n```ts\ntype CheckoutMode = "create_order" | "create_invoice" | "create_quote"\n```\n\n### `OrderStatus`\n\n\n| status | description |\n|-------------|-------|\n| `draft` | \u200B\u200BStarting state for all orders, at this point we can still edit the order |\n| `quote` | The order is in a quoting phase, bound to an expiration date |\n| `placed` | The order has been paid and can now be fulfilled (shipped\n\n```ts\ntype OrderStatus = "draft" | "quote" | "placed" | "cancelled" | "completed"\n```\n\n### `BasePriceItemCommon`\n\nRepresents the common keys in BasePriceItem and BasePriceItemDto\n\n```ts\ntype BasePriceItemCommon = {\n metadata?: Array<{\n key?: string\n value?: string\n }>\n quantity?: number\n product_id?: string\n price_id?: string\n description?: string\n product_description?: string\n product_name?: string\n price_mappings?: Array<{\n price_id?: string\n frequency_unit?: "weekly" | "monthly" | "every_quarter" | "every_6_months" | "yearly" | "one_time"\n name?: string\n value?: number\n metadata?: Record<string, string>\n }>\n is_tax_inclusive?: boolean\n _product?: {\n description?: string\n code?: string\n type?: "product" | "service"\n name?: string\n categories?: string[]\n feature?: Array<{\n _tags?: { ... }\n feature?: { ... }\n }>\n cross_sellable_products?: {\n $relation?: { ... }\n }\n product_images?: {\n $relation?: { ... }\n } | Array<{\n _id: { ... }\n filename: { ... }\n mime_type: { ... }\n versions: { ... }\n _schema: { ... }\n _org: { ... }\n _created_at: { ... }\n _updated_at: { ... }\n _title?: { ... }\n $relation?: { ... }\n }>\n product_downloads?: {\n $relation?: { ... }\n } | Array<{\n _id: { ... }\n filename: { ... }\n mime_type: { ... }\n versions: { ... }\n _schema: { ... }\n _org: { ... }\n _created_at: { ... }\n _updated_at: { ... }\n _title?: { ... }\n $relation?: { ... }\n }>\n price_options?: {\n $relation?: { ... }\n }\n _availability_files?: Array<{\n _id: { ... }\n filename: { ... }\n mime_type: { ... }\n versions: { ... }\n _schema: { ... }\n _org: { ... }\n _created_at: { ... }\n _updated_at: { ... }\n _title?: { ... }\n $relation?: { ... }\n }>\n _id?: string\n _title?: string\n _org_id?: string\n _created_at?: string\n _updated_at?: string\n }\n}\n```\n\n### `PriceItemDtoUnion`\n\n```ts\ntype PriceItemDtoUnion = {\n external_fees_mappings?: Array<{\n price_id?: string\n frequency_unit?: "weekly" | "monthly" | "every_quarter" | "every_6_months" | "yearly" | "one_time"\n amount_total?: number\n amount_total_decimal?: string\n }>\n external_fees_metadata?: {\n amount_total: number\n amount_total_decimal: string\n amount_static?: number\n amount_static_decimal?: unknown\n amount_variable_ht?: number\n amount_variable_decimal_ht?: string\n unit_amount_variable_ht?: number\n unit_amount_variable_decimal_ht?: string\n amount_variable_nt?: number\n amount_variable_decimal_nt?: string\n unit_amount_variable_nt?: number\n unit_amount_variable_decimal_nt?: string\n currency: string\n billing_period: "weekly" | "monthly" | "every_quarter" | "every_6_months" | "yearly" | "one_time"\n breakdown: {\n static?: { ... }\n variable?: { ... }\n variable_ht?: { ... }\n variable_nt?: { ... }\n }\n _meta?: {\n signature: { ... }\n timestamp: { ... }\n }\n }\n external_location_metadata?: {\n name: string\n code: string\n type: "gas" | "power"\n additionalData: {\n gridOperators: { ... }\n defaultSuppliers: { ... }\n marketAreaDetails: { ... }\n }\n _meta?: {\n signature: { ... }\n timestamp: { ... }\n }\n }\n external_price_metadata?: {\n market: "day_ahead"\n bidding_zone: "AT" | "DE-LU"\n price: {\n unit_amount: { ... }\n unit_amount_decimal: { ... }\n unit_amount_currency: { ... }\n timestamp: { ... }\n }\n _meta?: {\n signature: { ... }\n timestamp: { ... }\n }\n }\n _immutable_pricing_details?: {\n items?: Array<{\n metadata?: { ... }\n quantity?: { ... }\n product_id?: { ... }\n price_id?: { ... }\n description?: { ... }\n product_description?: { ... }\n product_name?: { ... }\n price_mappings?: { ... }\n is_tax_inclusive?: { ... }\n _product?: { ... }\n } | {\n metadata?: { ... }\n quantity?: { ... }\n product_id?: { ... }\n price_id?: { ... }\n description?: { ... }\n product_description?: { ... }\n product_name?: { ... }\n price_mappings?: { ... }\n is_tax_inclusive?: { ... }\n _product?: { ... }\n }>\n amount_subtotal?: number\n amount_total?: number\n unit_amount_gross?: number\n unit_amount_net?: number\n amount_tax?: number\n total_details?: {\n amount_shipping?: { ... }\n amount_tax?: { ... }\n breakdown?: { ... }\n }\n currency?: string\n redeemed_promos?: Array<{\n code: { ... }\n coupons: { ... }\n }>\n // ...\n}\n```\n\n### `PriceItemsDto`\n\nA valid set of product prices, quantities, (discounts) and taxes from a client.\n\n```ts\ntype PriceItemsDto = Array<{\n external_fees_mappings?: Array<{\n price_id?: string\n frequency_unit?: "weekly" | "monthly" | "every_quarter" | "every_6_months" | "yearly" | "one_time"\n amount_total?: number\n amount_total_decimal?: string\n }>\n external_fees_metadata?: {\n amount_total: number\n amount_total_decimal: string\n amount_static?: number\n amount_static_decimal?: unknown\n amount_variable_ht?: number\n amount_variable_decimal_ht?: string\n unit_amount_variable_ht?: number\n unit_amount_variable_decimal_ht?: string\n amount_variable_nt?: number\n amount_variable_decimal_nt?: string\n unit_amount_variable_nt?: number\n unit_amount_variable_decimal_nt?: string\n currency: string\n billing_period: "weekly" | "monthly" | "every_quarter" | "every_6_months" | "yearly" | "one_time"\n breakdown: {\n static?: { ... }\n variable?: { ... }\n variable_ht?: { ... }\n variable_nt?: { ... }\n }\n _meta?: {\n signature: { ... }\n timestamp: { ... }\n }\n }\n external_location_metadata?: {\n name: string\n code: string\n type: "gas" | "power"\n additionalData: {\n gridOperators: { ... }\n defaultSuppliers: { ... }\n marketAreaDetails: { ... }\n }\n _meta?: {\n signature: { ... }\n timestamp: { ... }\n }\n }\n external_price_metadata?: {\n market: "day_ahead"\n bidding_zone: "AT" | "DE-LU"\n price: {\n unit_amount: { ... }\n unit_amount_decimal: { ... }\n unit_amount_currency: { ... }\n timestamp: { ... }\n }\n _meta?: {\n signature: { ... }\n timestamp: { ... }\n }\n }\n _immutable_pricing_details?: {\n items?: Array<{\n metadata?: { ... }\n quantity?: { ... }\n product_id?: { ... }\n price_id?: { ... }\n description?: { ... }\n product_description?: { ... }\n product_name?: { ... }\n price_mappings?: { ... }\n is_tax_inclusive?: { ... }\n _product?: { ... }\n } | {\n metadata?: { ... }\n quantity?: { ... }\n product_id?: { ... }\n price_id?: { ... }\n description?: { ... }\n product_description?: { ... }\n product_name?: { ... }\n price_mappings?: { ... }\n is_tax_inclusive?: { ... }\n _product?: { ... }\n }>\n amount_subtotal?: number\n amount_total?: number\n unit_amount_gross?: number\n unit_amount_net?: number\n amount_tax?: number\n total_details?: {\n amount_shipping?: { ... }\n amount_tax?: { ... }\n breakdown?: { ... }\n }\n currency?: string\n redeemed_promos?: Array<{\n code: { ... }\n coupons: { ... }\n }>\n // ...\n}\n```\n\n### `BasePriceItemDto`\n\nRepresents a valid base price item from a client.\n\n```ts\ntype BasePriceItemDto = {\n metadata?: Array<{\n key?: string\n value?: string\n }>\n quantity?: number\n product_id?: string\n price_id?: string\n description?: string\n product_description?: string\n product_name?: string\n price_mappings?: Array<{\n price_id?: string\n frequency_unit?: "weekly" | "monthly" | "every_quarter" | "every_6_months" | "yearly" | "one_time"\n name?: string\n value?: number\n metadata?: Record<string, string>\n }>\n is_tax_inclusive?: boolean\n _product?: {\n description?: string\n code?: string\n type?: "product" | "service"\n name?: string\n categories?: string[]\n feature?: Array<{\n _tags?: { ... }\n feature?: { ... }\n }>\n cross_sellable_products?: {\n $relation?: { ... }\n }\n product_images?: {\n $relation?: { ... }\n } | Array<{\n _id: { ... }\n filename: { ... }\n mime_type: { ... }\n versions: { ... }\n _schema: { ... }\n _org: { ... }\n _created_at: { ... }\n _updated_at: { ... }\n _title?: { ... }\n $relation?: { ... }\n }>\n product_downloads?: {\n $relation?: { ... }\n } | Array<{\n _id: { ... }\n filename: { ... }\n mime_type: { ... }\n versions: { ... }\n _schema: { ... }\n _org: { ... }\n _created_at: { ... }\n _updated_at: { ... }\n _title?: { ... }\n $relation?: { ... }\n }>\n price_options?: {\n $relation?: { ... }\n }\n _availability_files?: Array<{\n _id: { ... }\n filename: { ... }\n mime_type: { ... }\n versions: { ... }\n _schema: { ... }\n _org: { ... }\n _created_at: { ... }\n _updated_at: { ... }\n _title?: { ... }\n $relation?: { ... }\n }>\n _id?: string\n _title?: string\n _org_id?: string\n _created_at?: string\n _updated_at?: string\n }\n}\n```\n\n### `PriceItemDto`\n\nRepresents a price input to the pricing library.\n\n```ts\ntype PriceItemDto = {\n external_fees_mappings?: Array<{\n price_id?: string\n frequency_unit?: "weekly" | "monthly" | "every_quarter" | "every_6_months" | "yearly" | "one_time"\n amount_total?: number\n amount_total_decimal?: string\n }>\n external_fees_metadata?: {\n amount_total: number\n amount_total_decimal: string\n amount_static?: number\n amount_static_decimal?: unknown\n amount_variable_ht?: number\n amount_variable_decimal_ht?: string\n unit_amount_variable_ht?: number\n unit_amount_variable_decimal_ht?: string\n amount_variable_nt?: number\n amount_variable_decimal_nt?: string\n unit_amount_variable_nt?: number\n unit_amount_variable_decimal_nt?: string\n currency: string\n billing_period: "weekly" | "monthly" | "every_quarter" | "every_6_months" | "yearly" | "one_time"\n breakdown: {\n static?: { ... }\n variable?: { ... }\n variable_ht?: { ... }\n variable_nt?: { ... }\n }\n _meta?: {\n signature: { ... }\n timestamp: { ... }\n }\n }\n external_location_metadata?: {\n name: string\n code: string\n type: "gas" | "power"\n additionalData: {\n gridOperators: { ... }\n defaultSuppliers: { ... }\n marketAreaDetails: { ... }\n }\n _meta?: {\n signature: { ... }\n timestamp: { ... }\n }\n }\n external_price_metadata?: {\n market: "day_ahead"\n bidding_zone: "AT" | "DE-LU"\n price: {\n unit_amount: { ... }\n unit_amount_decimal: { ... }\n unit_amount_currency: { ... }\n timestamp: { ... }\n }\n _meta?: {\n signature: { ... }\n timestamp: { ... }\n }\n }\n _immutable_pricing_details?: {\n items?: Array<{\n metadata?: { ... }\n quantity?: { ... }\n product_id?: { ... }\n price_id?: { ... }\n description?: { ... }\n product_description?: { ... }\n product_name?: { ... }\n price_mappings?: { ... }\n is_tax_inclusive?: { ... }\n _product?: { ... }\n } | {\n metadata?: { ... }\n quantity?: { ... }\n product_id?: { ... }\n price_id?: { ... }\n description?: { ... }\n product_description?: { ... }\n product_name?: { ... }\n price_mappings?: { ... }\n is_tax_inclusive?: { ... }\n _product?: { ... }\n }>\n amount_subtotal?: number\n amount_total?: number\n unit_amount_gross?: number\n unit_amount_net?: number\n amount_tax?: number\n total_details?: {\n amount_shipping?: { ... }\n amount_tax?: { ... }\n breakdown?: { ... }\n }\n currency?: string\n redeemed_promos?: Array<{\n code: { ... }\n coupons: { ... }\n }>\n // ...\n}\n```\n\n### `CompositePriceItemDto`\n\nRepresents a composite price input to the pricing library.\n\n```ts\ntype CompositePriceItemDto = {\n external_fees_mappings?: Array<{\n price_id?: string\n frequency_unit?: "weekly" | "monthly" | "every_quarter" | "every_6_months" | "yearly" | "one_time"\n amount_total?: number\n amount_total_decimal?: string\n }>\n external_fees_metadata?: {\n amount_total: number\n amount_total_decimal: string\n amount_static?: number\n amount_static_decimal?: unknown\n amount_variable_ht?: number\n amount_variable_decimal_ht?: string\n unit_amount_variable_ht?: number\n unit_amount_variable_decimal_ht?: string\n amount_variable_nt?: number\n amount_variable_decimal_nt?: string\n unit_amount_variable_nt?: number\n unit_amount_variable_decimal_nt?: string\n currency: string\n billing_period: "weekly" | "monthly" | "every_quarter" | "every_6_months" | "yearly" | "one_time"\n breakdown: {\n static?: { ... }\n variable?: { ... }\n variable_ht?: { ... }\n variable_nt?: { ... }\n }\n _meta?: {\n signature: { ... }\n timestamp: { ... }\n }\n }\n external_location_metadata?: {\n name: string\n code: string\n type: "gas" | "power"\n additionalData: {\n gridOperators: { ... }\n defaultSuppliers: { ... }\n marketAreaDetails: { ... }\n }\n _meta?: {\n signature: { ... }\n timestamp: { ... }\n }\n }\n external_price_metadata?: {\n market: "day_ahead"\n bidding_zone: "AT" | "DE-LU"\n price: {\n unit_amount: { ... }\n unit_amount_decimal: { ... }\n unit_amount_currency: { ... }\n timestamp: { ... }\n }\n _meta?: {\n signature: { ... }\n timestamp: { ... }\n }\n }\n _immutable_pricing_details?: {\n items?: Array<{\n metadata?: { ... }\n quantity?: { ... }\n product_id?: { ... }\n price_id?: { ... }\n description?: { ... }\n product_description?: { ... }\n product_name?: { ... }\n price_mappings?: { ... }\n is_tax_inclusive?: { ... }\n _product?: { ... }\n } | {\n metadata?: { ... }\n quantity?: { ... }\n product_id?: { ... }\n price_id?: { ... }\n description?: { ... }\n product_description?: { ... }\n product_name?: { ... }\n price_mappings?: { ... }\n is_tax_inclusive?: { ... }\n _product?: { ... }\n }>\n amount_subtotal?: number\n amount_total?: number\n unit_amount_gross?: number\n unit_amount_net?: number\n amount_tax?: number\n total_details?: {\n amount_shipping?: { ... }\n amount_tax?: { ... }\n breakdown?: { ... }\n }\n currency?: string\n redeemed_promos?: Array<{\n code: { ... }\n coupons: { ... }\n }>\n // ...\n}\n```\n\n### `TaxAmountDto`\n\nA valid tax rate from a client.\n\n```ts\ntype TaxAmountDto = {\n rate?: string\n tax?: {\n _id: string // uuid\n _title: string\n _org: string\n _schema: string\n _tags?: string[]\n _created_at: string // date-time\n _updated_at: string // date-time\n type: "VAT" | "GST" | "Custom"\n description?: string\n rate: number\n active?: boolean\n region?: string\n region_label?: string\n } | {\n type: "VAT" | "GST" | "Custom"\n rate: number\n description?: string\n }\n}\n```\n\n### `OrderSource`\n\nThe order generation source\n\n```ts\ntype OrderSource = {\n http?: string\n title?: string\n}\n```\n\n### `OpportunitySource`\n\nThe opportunity generation source\n\n```ts\ntype OpportunitySource = {\n http?: string\n title?: string\n}\n```\n\n### `RecurrenceAmountDto`\n\nAn amount associated with a specific recurrence.\n\n```ts\ntype RecurrenceAmountDto = {\n amount_subtotal?: number\n amount_subtotal_decimal?: string\n amount_total?: number\n amount_total_decimal?: string\n cashback_amount?: number\n cashback_amount_decimal?: string\n cashback_period?: "0" | "12"\n after_cashback_amount_total?: number\n after_cashback_amount_total_decimal?: string\n discount_amount?: number\n discount_amount_decimal?: string\n discount_percentage?: number\n before_discount_amount_total?: number\n before_discount_amount_total_decimal?: string\n before_discount_amount_subtotal?: number\n before_discount_amount_subtotal_decimal?: string\n}\n```\n\n### `Currency`\n\nThree-letter ISO currency code, in lowercase. Must be a supported currency.\nISO 4217 CURRENCY CODES as specified in the documentation: https://www.iso.org/iso-4217-currency-codes.html\n\n\n```ts\ntype Currency = string\n```\n\n### `OrderRelation`\n\nAn order relation reference\n\n```ts\ntype OrderRelation = {\n entity_id?: string\n _tags?: string[]\n}\n```\n\n### `OrderPayload`\n\nOrder Entity Payload\n\n```ts\ntype OrderPayload = {\n status?: "draft" | "quote" | "placed" | "cancelled" | "completed"\n line_items?: Array<{\n external_fees_mappings?: Array<{\n price_id?: { ... }\n frequency_unit?: { ... }\n amount_total?: { ... }\n amount_total_decimal?: { ... }\n }>\n external_fees_metadata?: {\n amount_total: { ... }\n amount_total_decimal: { ... }\n amount_static?: { ... }\n amount_static_decimal?: { ... }\n amount_variable_ht?: { ... }\n amount_variable_decimal_ht?: { ... }\n unit_amount_variable_ht?: { ... }\n unit_amount_variable_decimal_ht?: { ... }\n amount_variable_nt?: { ... }\n amount_variable_decimal_nt?: { ... }\n unit_amount_variable_nt?: { ... }\n unit_amount_variable_decimal_nt?: { ... }\n currency: { ... }\n billing_period: { ... }\n breakdown: { ... }\n _meta?: { ... }\n }\n external_location_metadata?: {\n name: { ... }\n code: { ... }\n type: { ... }\n additionalData: { ... }\n _meta?: { ... }\n }\n external_price_metadata?: {\n market: { ... }\n bidding_zone: { ... }\n price: { ... }\n _meta?: { ... }\n }\n _immutable_pricing_details?: {\n items?: { ... }\n amount_subtotal?: { ... }\n amount_total?: { ... }\n unit_amount_gross?: { ... }\n unit_amount_net?: { ... }\n amount_tax?: { ... }\n total_details?: { ... }\n currency?: { ... }\n redeemed_promos?: { ... }\n }\n coupon_ids?: string[]\n taxes?: Array<{\n rate?: { ... }\n tax?: { ... }\n }>\n recurrences?: Array<{\n amount_subtotal?: { ... }\n amount_subtotal_decimal?: { ... }\n amount_total?: { ... }\n amount_total_decimal?: { ... }\n cashback_amount?: { ... }\n cashback_amount_decimal?: { ... }\n cashback_period?: { ... }\n after_cashback_amount_total?: { ... }\n after_cashback_amount_total_decimal?: { ... }\n discount_amount?: { ... }\n discount_amount_decimal?: { ... }\n discount_percentage?: { ... }\n before_discount_amount_total?: { ... }\n before_discount_amount_total_decimal?: { ... }\n before_discount_amount_subtotal?: { ... }\n before_discount_amount_subtotal_decimal?: { ... }\n }>\n _coupons?: Array<{\n _id: { ... }\n _title: { ... }\n _org: { ... }\n _schema: { ... }\n _tags?: { ... }\n _created_at: { ... }\n _updated_at: { ... }\n name: { ... }\n description?: { ... }\n type: { ... }\n category: { ... }\n percentage_value?: { ... }\n fixed_value?: { ... }\n fixed_value_decimal?: { ... }\n fixed_value_currency?: { ... }\n cashback_period?: { ... }\n active?: { ... }\n requires_promo_code?: { ... }\n }>\n type?: "one_time" | "recurring"\n billing_period?: "weekly" | "monthly" | "every_quarter" | "every_6_months" | "yearly"\n unit_amount?: number\n unit_amount_gross?: number\n unit_amount_currency?: string\n unit_amount_decimal?: string\n // ...\n}\n```\n\n### `PriceItems`\n\nTracks a set of product prices, quantities, (discounts) and taxes.\n\n```ts\ntype PriceItems = Array<{\n metadata?: Array<{\n key?: string\n value?: string\n }>\n quantity?: number\n product_id?: string\n price_id?: string\n description?: string\n product_description?: string\n product_name?: string\n price_mappings?: Array<{\n price_id?: string\n frequency_unit?: "weekly" | "monthly" | "every_quarter" | "every_6_months" | "yearly" | "one_time"\n name?: string\n value?: number\n metadata?: Record<string, string>\n }>\n is_tax_inclusive?: boolean\n _product?: {\n description?: string\n code?: string\n type?: "product" | "service"\n name?: string\n categories?: string[]\n feature?: Array<{\n _tags?: { ... }\n feature?: { ... }\n }>\n cross_sellable_products?: {\n $relation?: { ... }\n }\n product_images?: {\n $relation?: { ... }\n } | Array<{\n _id: { ... }\n filename: { ... }\n mime_type: { ... }\n versions: { ... }\n _schema: { ... }\n _org: { ... }\n _created_at: { ... }\n _updated_at: { ... }\n _title?: { ... }\n $relation?: { ... }\n }>\n product_downloads?: {\n $relation?: { ... }\n } | Array<{\n _id: { ... }\n filename: { ... }\n mime_type: { ... }\n versions: { ... }\n _schema: { ... }\n _org: { ... }\n _created_at: { ... }\n _updated_at: { ... }\n _title?: { ... }\n $relation?: { ... }\n }>\n price_options?: {\n $relation?: { ... }\n }\n _availability_files?: Array<{\n _id: { ... }\n filename: { ... }\n mime_type: { ... }\n versions: { ... }\n _schema: { ... }\n _org: { ... }\n _created_at: { ... }\n _updated_at: { ... }\n _title?: { ... }\n $relation?: { ... }\n }>\n _id?: string\n _title?: string\n _org_id?: string\n _created_at?: string\n _updated_at?: string\n }\n} | {\n metadata?: Array<{\n key?: string\n value?: string\n }>\n quantity?: number\n product_id?: string\n price_id?: string\n description?: string\n product_description?: string\n product_name?: string\n price_mappings?: Array<{\n price_id?: string\n frequency_unit?: "weekly" | "monthly" | "every_quarter" | "every_6_months" | "yearly" | "one_time"\n name?: string\n value?: number\n metadata?: Record<string, string>\n }>\n is_tax_inclusive?: boolean\n // ...\n}\n```\n\n### `CompositePriceItem`\n\nRepresents a composite price input to the pricing library.\n\n```ts\ntype CompositePriceItem = {\n metadata?: Array<{\n key?: string\n value?: string\n }>\n quantity?: number\n product_id?: string\n price_id?: string\n description?: string\n product_description?: string\n product_name?: string\n price_mappings?: Array<{\n price_id?: string\n frequency_unit?: "weekly" | "monthly" | "every_quarter" | "every_6_months" | "yearly" | "one_time"\n name?: string\n value?: number\n metadata?: Record<string, string>\n }>\n is_tax_inclusive?: boolean\n _product?: {\n description?: string\n code?: string\n type?: "product" | "service"\n name?: string\n categories?: string[]\n feature?: Array<{\n _tags?: { ... }\n feature?: { ... }\n }>\n cross_sellable_products?: {\n $relation?: { ... }\n }\n product_images?: {\n $relation?: { ... }\n } | Array<{\n _id: { ... }\n filename: { ... }\n mime_type: { ... }\n versions: { ... }\n _schema: { ... }\n _org: { ... }\n _created_at: { ... }\n _updated_at: { ... }\n _title?: { ... }\n $relation?: { ... }\n }>\n product_downloads?: {\n $relation?: { ... }\n } | Array<{\n _id: { ... }\n filename: { ... }\n mime_type: { ... }\n versions: { ... }\n _schema: { ... }\n _org: { ... }\n _created_at: { ... }\n _updated_at: { ... }\n _title?: { ... }\n $relation?: { ... }\n }>\n price_options?: {\n $relation?: { ... }\n }\n _availability_files?: Array<{\n _id: { ... }\n filename: { ... }\n mime_type: { ... }\n versions: { ... }\n _schema: { ... }\n _org: { ... }\n _created_at: { ... }\n _updated_at: { ... }\n _title?: { ... }\n $relation?: { ... }\n }>\n _id?: string\n _title?: string\n _org_id?: string\n _created_at?: string\n _updated_at?: string\n }\n}\n```\n\n### `BasePriceItem`\n\nRepresents a price item\n\n```ts\ntype BasePriceItem = {\n metadata?: Array<{\n key?: string\n value?: string\n }>\n quantity?: number\n product_id?: string\n price_id?: string\n description?: string\n product_description?: string\n product_name?: string\n price_mappings?: Array<{\n price_id?: string\n frequency_unit?: "weekly" | "monthly" | "every_quarter" | "every_6_months" | "yearly" | "one_time"\n name?: string\n value?: number\n metadata?: Record<string, string>\n }>\n is_tax_inclusive?: boolean\n _product?: {\n description?: string\n code?: string\n type?: "product" | "service"\n name?: string\n categories?: string[]\n feature?: Array<{\n _tags?: { ... }\n feature?: { ... }\n }>\n cross_sellable_products?: {\n $relation?: { ... }\n }\n product_images?: {\n $relation?: { ... }\n } | Array<{\n _id: { ... }\n filename: { ... }\n mime_type: { ... }\n versions: { ... }\n _schema: { ... }\n _org: { ... }\n _created_at: { ... }\n _updated_at: { ... }\n _title?: { ... }\n $relation?: { ... }\n }>\n product_downloads?: {\n $relation?: { ... }\n } | Array<{\n _id: { ... }\n filename: { ... }\n mime_type: { ... }\n versions: { ... }\n _schema: { ... }\n _org: { ... }\n _created_at: { ... }\n _updated_at: { ... }\n _title?: { ... }\n $relation?: { ... }\n }>\n price_options?: {\n $relation?: { ... }\n }\n _availability_files?: Array<{\n _id: { ... }\n filename: { ... }\n mime_type: { ... }\n versions: { ... }\n _schema: { ... }\n _org: { ... }\n _created_at: { ... }\n _updated_at: { ... }\n _title?: { ... }\n $relation?: { ... }\n }>\n _id?: string\n _title?: string\n _org_id?: string\n _created_at?: string\n _updated_at?: string\n }\n}\n```\n\n### `CashbackAmounts`\n\n```ts\ntype CashbackAmounts = {\n cashback_amount?: number\n cashback_amount_decimal?: string\n cashback_period?: "0" | "12"\n after_cashback_amount_total?: number\n after_cashback_amount_total_decimal?: string\n}\n```\n\n### `DiscountAmounts`\n\n```ts\ntype DiscountAmounts = {\n discount_amount?: number\n discount_amount_decimal?: string\n discount_percentage?: number\n before_discount_amount_total?: number\n before_discount_amount_total_decimal?: string\n before_discount_amount_subtotal?: number\n before_discount_amount_subtotal_decimal?: string\n}\n```\n\n### `PriceAmounts`\n\n```ts\ntype PriceAmounts = {\n amount_subtotal?: number\n amount_subtotal_decimal?: string\n amount_total?: number\n amount_total_decimal?: string\n}\n```\n\n### `Amounts`\n\n```ts\ntype Amounts = {\n amount_subtotal?: number\n amount_subtotal_decimal?: string\n amount_total?: number\n amount_total_decimal?: string\n cashback_amount?: number\n cashback_amount_decimal?: string\n cashback_period?: "0" | "12"\n after_cashback_amount_total?: number\n after_cashback_amount_total_decimal?: string\n discount_amount?: number\n discount_amount_decimal?: string\n discount_percentage?: number\n before_discount_amount_total?: number\n before_discount_amount_total_decimal?: string\n before_discount_amount_subtotal?: number\n before_discount_amount_subtotal_decimal?: string\n}\n```\n\n### `PriceItem`\n\nRepresents a price item\n\n```ts\ntype PriceItem = {\n metadata?: Array<{\n key?: string\n value?: string\n }>\n quantity?: number\n product_id?: string\n price_id?: string\n description?: string\n product_description?: string\n product_name?: string\n price_mappings?: Array<{\n price_id?: string\n frequency_unit?: "weekly" | "monthly" | "every_quarter" | "every_6_months" | "yearly" | "one_time"\n name?: string\n value?: number\n metadata?: Record<string, string>\n }>\n is_tax_inclusive?: boolean\n _product?: {\n description?: string\n code?: string\n type?: "product" | "service"\n name?: string\n categories?: string[]\n feature?: Array<{\n _tags?: { ... }\n feature?: { ... }\n }>\n cross_sellable_products?: {\n $relation?: { ... }\n }\n product_images?: {\n $relation?: { ... }\n } | Array<{\n _id: { ... }\n filename: { ... }\n mime_type: { ... }\n versions: { ... }\n _schema: { ... }\n _org: { ... }\n _created_at: { ... }\n _updated_at: { ... }\n _title?: { ... }\n $relation?: { ... }\n }>\n product_downloads?: {\n $relation?: { ... }\n } | Array<{\n _id: { ... }\n filename: { ... }\n mime_type: { ... }\n versions: { ... }\n _schema: { ... }\n _org: { ... }\n _created_at: { ... }\n _updated_at: { ... }\n _title?: { ... }\n $relation?: { ... }\n }>\n price_options?: {\n $relation?: { ... }\n }\n _availability_files?: Array<{\n _id: { ... }\n filename: { ... }\n mime_type: { ... }\n versions: { ... }\n _schema: { ... }\n _org: { ... }\n _created_at: { ... }\n _updated_at: { ... }\n _title?: { ... }\n $relation?: { ... }\n }>\n _id?: string\n _title?: string\n _org_id?: string\n _created_at?: string\n _updated_at?: string\n }\n}\n```\n\n### `TaxAmount`\n\nA tax amount associated with a specific tax rate.\n\n```ts\ntype TaxAmount = {\n amount?: number\n rate?: string\n rateValue?: number\n tax?: {\n _id: string // uuid\n _title: string\n _org: string\n _schema: string\n _tags?: string[]\n _created_at: string // date-time\n _updated_at: string // date-time\n type: "VAT" | "GST" | "Custom"\n description?: string\n rate: number\n active?: boolean\n region?: string\n region_label?: string\n } | {\n type: "VAT" | "GST" | "Custom"\n rate: number\n description?: string\n }\n}\n```\n\n### `TaxAmountBreakdown`\n\nA tax amount associated with a specific tax rate.\n\n```ts\ntype TaxAmountBreakdown = {\n amount?: number\n rate?: string\n rateValue?: number\n tax?: {\n rate?: number\n type?: "VAT" | "GST" | "Custom"\n _id?: string\n }\n}\n```\n\n### `RecurrenceAmount`\n\nAn amount associated with a specific recurrence.\n\n```ts\ntype RecurrenceAmount = {\n amount_subtotal?: number\n amount_subtotal_decimal?: string\n amount_total?: number\n amount_total_decimal?: string\n cashback_amount?: number\n cashback_amount_decimal?: string\n cashback_period?: "0" | "12"\n after_cashback_amount_total?: number\n after_cashback_amount_total_decimal?: string\n discount_amount?: number\n discount_amount_decimal?: string\n discount_percentage?: number\n before_discount_amount_total?: number\n before_discount_amount_total_decimal?: string\n before_discount_amount_subtotal?: number\n before_discount_amount_subtotal_decimal?: string\n}\n```\n\n### `CashbackAmount`\n\nA detail associated with a specific cashback.\n\n```ts\ntype CashbackAmount = {\n cashback_name?: string\n cashback_period: "0" | "12"\n amount_total: number\n}\n```\n\n### `RecurrenceAmountWithTax`\n\nAn amount associated with a specific recurrence.\n\n```ts\ntype RecurrenceAmountWithTax = {\n type?: string\n billing_period?: "weekly" | "monthly" | "every_quarter" | "every_6_months" | "yearly"\n amount_total: number\n amount_subtotal: number\n amount_tax?: number\n tax?: {\n amount?: number\n rate?: string\n rateValue?: number\n tax?: {\n rate?: { ... }\n type?: { ... }\n _id?: { ... }\n }\n }\n}\n```\n\n### `TotalDetails`\n\nThe total details with tax (and discount) aggregated totals.\n\n```ts\ntype TotalDetails = {\n amount_shipping?: number\n amount_tax?: number\n breakdown?: {\n taxes?: Array<{\n amount?: { ... }\n rate?: { ... }\n rateValue?: { ... }\n tax?: { ... }\n }>\n recurrences?: Array<{\n amount_subtotal?: { ... }\n amount_subtotal_decimal?: { ... }\n amount_total?: { ... }\n amount_total_decimal?: { ... }\n cashback_amount?: { ... }\n cashback_amount_decimal?: { ... }\n cashback_period?: { ... }\n after_cashback_amount_total?: { ... }\n after_cashback_amount_total_decimal?: { ... }\n discount_amount?: { ... }\n discount_amount_decimal?: { ... }\n discount_percentage?: { ... }\n before_discount_amount_total?: { ... }\n before_discount_amount_total_decimal?: { ... }\n before_discount_amount_subtotal?: { ... }\n before_discount_amount_subtotal_decimal?: { ... }\n }>\n cashbacks?: Array<{\n cashback_name?: { ... }\n cashback_period: { ... }\n amount_total: { ... }\n }>\n recurrencesByTax?: Array<{\n type?: { ... }\n billing_period?: { ... }\n amount_total: { ... }\n amount_subtotal: { ... }\n amount_tax?: { ... }\n tax?: { ... }\n }>\n }\n}\n```\n\n### `PricingDetails`\n\nThe result from the calculation of a set of price items.\n\n```ts\ntype PricingDetails = {\n items?: Array<{\n metadata?: Array<{\n key?: { ... }\n value?: { ... }\n }>\n quantity?: number\n product_id?: string\n price_id?: string\n description?: string\n product_description?: string\n product_name?: string\n price_mappings?: Array<{\n price_id?: { ... }\n frequency_unit?: { ... }\n name?: { ... }\n value?: { ... }\n metadata?: { ... }\n }>\n is_tax_inclusive?: boolean\n _product?: {\n description?: { ... }\n code?: { ... }\n type?: { ... }\n name?: { ... }\n categories?: { ... }\n feature?: { ... }\n cross_sellable_products?: { ... }\n product_images?: { ... }\n product_downloads?: { ... }\n price_options?: { ... }\n _availability_files?: { ... }\n _id?: { ... }\n _title?: { ... }\n _org_id?: { ... }\n _created_at?: { ... }\n _updated_at?: { ... }\n }\n } | {\n metadata?: Array<{\n key?: { ... }\n value?: { ... }\n }>\n quantity?: number\n product_id?: string\n price_id?: string\n description?: string\n product_description?: string\n product_name?: string\n price_mappings?: Array<{\n price_id?: { ... }\n frequency_unit?: { ... }\n name?: { ... }\n value?: { ... }\n metadata?: { ... }\n }>\n is_tax_inclusive?: boolean\n _product?: {\n description?: { ... }\n code?: { ... }\n type?: { ... }\n name?: { ... }\n categories?: { ... }\n feature?: { ... }\n cross_sellable_products?: { ... }\n product_images?: { ... }\n product_downloads?: { ... }\n price_options?: { ... }\n _availability_files?: { ... }\n _id?: { ... }\n _title?: { ... }\n _org_id?: { ... }\n _created_at?: { ... }\n _updated_at?: { ... }\n }\n }>\n amount_subtotal?: number\n amount_total?: number\n unit_amount_gross?: number\n unit_amount_net?: number\n amount_tax?: number\n total_details?: {\n amount_shipping?: number\n amount_tax?: number\n breakdown?: {\n taxes?: { ... }\n recurrences?: { ... }\n cashbacks?: { ... }\n recurrencesByTax?: { ... }\n }\n }\n currency?: string\n redeemed_promos?: Array<{\n code: string\n coupons: Array<{\n _id: { ... }\n _title: { ... }\n _org: { ... }\n _schema: { ... }\n _tags?: { ... }\n // ...\n}\n```\n\n### `PromoCodeValidationResponse`\n\nThe result from the validation of a set of promo codes.\n\n```ts\ntype PromoCodeValidationResponse = {\n matched_coupons?: Array<{\n _id: string // uuid\n _title: string\n _org: string\n _schema: "coupon"\n _tags?: string[]\n _created_at: string // date-time\n _updated_at: string // date-time\n name: string\n description?: string\n type: "fixed" | "percentage"\n category: "discount" | "cashback"\n percentage_value?: string\n fixed_value?: number\n fixed_value_decimal?: string\n fixed_value_currency?: string\n cashback_period?: "0" | "12"\n active?: boolean\n requires_promo_code?: boolean\n }>\n}\n```\n\n### `PricingDetailsResponse`\n\nThe result from the calculation of a set of price items.\n\n```ts\ntype PricingDetailsResponse = {\n items?: Array<{\n metadata?: Array<{\n key?: { ... }\n value?: { ... }\n }>\n quantity?: number\n product_id?: string\n price_id?: string\n description?: string\n product_description?: string\n product_name?: string\n price_mappings?: Array<{\n price_id?: { ... }\n frequency_unit?: { ... }\n name?: { ... }\n value?: { ... }\n metadata?: { ... }\n }>\n is_tax_inclusive?: boolean\n _product?: {\n description?: { ... }\n code?: { ... }\n type?: { ... }\n name?: { ... }\n categories?: { ... }\n feature?: { ... }\n cross_sellable_products?: { ... }\n product_images?: { ... }\n product_downloads?: { ... }\n price_options?: { ... }\n _availability_files?: { ... }\n _id?: { ... }\n _title?: { ... }\n _org_id?: { ... }\n _created_at?: { ... }\n _updated_at?: { ... }\n }\n } | {\n metadata?: Array<{\n key?: { ... }\n value?: { ... }\n }>\n quantity?: number\n product_id?: string\n price_id?: string\n description?: string\n product_description?: string\n product_name?: string\n price_mappings?: Array<{\n price_id?: { ... }\n frequency_unit?: { ... }\n name?: { ... }\n value?: { ... }\n metadata?: { ... }\n }>\n is_tax_inclusive?: boolean\n _product?: {\n description?: { ... }\n code?: { ... }\n type?: { ... }\n name?: { ... }\n categories?: { ... }\n feature?: { ... }\n cross_sellable_products?: { ... }\n product_images?: { ... }\n product_downloads?: { ... }\n price_options?: { ... }\n _availability_files?: { ... }\n _id?: { ... }\n _title?: { ... }\n _org_id?: { ... }\n _created_at?: { ... }\n _updated_at?: { ... }\n }\n }>\n amount_subtotal?: number\n amount_total?: number\n unit_amount_gross?: number\n unit_amount_net?: number\n amount_tax?: number\n total_details?: {\n amount_shipping?: number\n amount_tax?: number\n breakdown?: {\n taxes?: { ... }\n recurrences?: { ... }\n cashbacks?: { ... }\n recurrencesByTax?: { ... }\n }\n }\n currency?: string\n redeemed_promos?: Array<{\n code: string\n coupons: Array<{\n _id: { ... }\n _title: { ... }\n _org: { ... }\n _schema: { ... }\n _tags?: { ... }\n // ...\n}\n```\n\n### `BillingPeriod`\n\n```ts\ntype BillingPeriod = "weekly" | "monthly" | "every_quarter" | "every_6_months" | "yearly"\n```\n\n### `CashbackPeriod`\n\nThe cashback period, for now it\'s limited to either 0 months or 12 months\n\n```ts\ntype CashbackPeriod = "0" | "12"\n```\n\n### `SalesTax`\n\n```ts\ntype SalesTax = "nontaxable" | "reduced" | "standard"\n```\n\n### `AvailabilityLocation`\n\n```ts\ntype AvailabilityLocation = {\n street?: string\n street_number?: string\n postal_code?: string\n city?: string\n country?: string\n}\n```\n\n### `AvailabilityFilters`\n\nAvailability filters dimensions\n\n```ts\ntype AvailabilityFilters = {\n location: {\n street?: string\n street_number?: string\n postal_code?: string\n city?: string\n country?: string\n }\n available_date?: string // date\n}\n```\n\n### `Address`\n\n```ts\ntype Address = {\n _tags?: string[]\n street?: string\n street_number?: string\n postal_code?: string\n city?: string\n country?: string\n additional_info?: string\n company_name?: string\n first_name?: string\n last_name?: string\n salutation?: string\n title?: string\n}\n```\n\n### `PaymentMethod`\n\nA PaymentMethod represent your customer\'s payment instruments.\n\n\n```ts\ntype PaymentMethod = {\n type?: string\n details?: Record<string, unknown>\n}\n```\n\n### `Customer`\n\n```ts\ntype Customer = {\n first_name?: string\n last_name?: string\n company_name?: string\n vat_id?: string\n email?: string\n phone?: string\n}\n```\n\n### `File`\n\n```ts\ntype File = {\n _id: string\n filename: string\n mime_type: string\n versions: Array<{\n s3ref: {\n bucket: { ... }\n key: { ... }\n }\n }>\n _schema: string\n _org: string\n _created_at: string // date-time\n _updated_at: string // date-time\n _title?: string\n $relation?: {\n entity_id?: string\n _tags?: string[]\n }\n}\n```\n\n### `EntityId`\n\n```ts\ntype EntityId = string // uuid\n```\n\n### `EntityItem`\n\n```ts\ntype EntityItem = {\n _id: string // uuid\n _title: string\n _org: string\n _schema: string\n _tags?: string[]\n _created_at: string // date-time\n _updated_at: string // date-time\n}\n```\n\n### `EntityRelation`\n\n```ts\ntype EntityRelation = {\n entity_id?: string\n _tags?: string[]\n}\n```\n\n### `Tax`\n\nthe tax configuration\n\n```ts\ntype Tax = {\n _id: string // uuid\n _title: string\n _org: string\n _schema: string\n _tags?: string[]\n _created_at: string // date-time\n _updated_at: string // date-time\n type: "VAT" | "GST" | "Custom"\n description?: string\n rate: number\n active?: boolean\n region?: string\n region_label?: string\n}\n```\n\n### `TaxItem`\n\nA minimal, ad-hoc tax rate for line items with no backing tax entity\nin the catalog (e.g. a fully custom/composite price component built\nby a client with no product/price reference to resolve tax from).\nMirrors how PriceItem relates to Price: unlike Tax, this has no\nentity identity \u2014 it isn\'t persis\n\n```ts\ntype TaxItem = {\n type: "VAT" | "GST" | "Custom"\n rate: number\n description?: string\n}\n```\n\n### `TaxBreakdownInfo`\n\n```ts\ntype TaxBreakdownInfo = {\n rate?: number\n type?: "VAT" | "GST" | "Custom"\n _id?: string\n}\n```\n\n### `BaseCouponCommon`\n\nThe shared properties for the coupon entity and coupon item entity\n\n```ts\ntype BaseCouponCommon = {\n _id: string // uuid\n _title: string\n _org: string\n _schema: "coupon"\n _tags?: string[]\n _created_at: string // date-time\n _updated_at: string // date-time\n name: string\n description?: string\n type: "fixed" | "percentage"\n category: "discount" | "cashback"\n percentage_value?: string\n fixed_value?: number\n fixed_value_decimal?: string\n fixed_value_currency?: string\n cashback_period?: "0" | "12"\n active?: boolean\n requires_promo_code?: boolean\n}\n```\n\n### `CouponWithoutPromoCodes`\n\nThe base for the coupon entity without promo codes\n\n```ts\ntype CouponWithoutPromoCodes = {\n _id: string // uuid\n _title: string\n _org: string\n _schema: "coupon"\n _tags?: string[]\n _created_at: string // date-time\n _updated_at: string // date-time\n name: string\n description?: string\n type: "fixed" | "percentage"\n category: "discount" | "cashback"\n percentage_value?: string\n fixed_value?: number\n fixed_value_decimal?: string\n fixed_value_currency?: string\n cashback_period?: "0" | "12"\n active?: boolean\n requires_promo_code?: boolean\n}\n```\n\n### `Coupon`\n\nThe coupon entity\n\n```ts\ntype Coupon = {\n _id: string // uuid\n _title: string\n _org: string\n _schema: "coupon"\n _tags?: string[]\n _created_at: string // date-time\n _updated_at: string // date-time\n name: string\n description?: string\n type: "fixed" | "percentage"\n category: "discount" | "cashback"\n percentage_value?: string\n fixed_value?: number\n fixed_value_decimal?: string\n fixed_value_currency?: string\n cashback_period?: "0" | "12"\n active?: boolean\n requires_promo_code?: boolean\n}\n```\n\n### `CouponItem`\n\n```ts\ntype CouponItem = {\n _id: string // uuid\n _title: string\n _org: string\n _schema: "coupon"\n _tags?: string[]\n _created_at: string // date-time\n _updated_at: string // date-time\n name: string\n description?: string\n type: "fixed" | "percentage"\n category: "discount" | "cashback"\n percentage_value?: string\n fixed_value?: number\n fixed_value_decimal?: string\n fixed_value_currency?: string\n cashback_period?: "0" | "12"\n active?: boolean\n requires_promo_code?: boolean\n}\n```\n\n### `PromoCode`\n\n```ts\ntype PromoCode = {\n id: string\n code: string\n has_usage_limit?: boolean\n usage_limit?: number\n}\n```\n\n### `RedeemedPromo`\n\n```ts\ntype RedeemedPromo = {\n code: string\n coupons: Array<{\n _id: string // uuid\n _title: string\n _org: string\n _schema: "coupon"\n _tags?: string[]\n _created_at: string // date-time\n _updated_at: string // date-time\n name: string\n description?: string\n type: "fixed" | "percentage"\n category: "discount" | "cashback"\n percentage_value?: string\n fixed_value?: number\n fixed_value_decimal?: string\n fixed_value_currency?: string\n cashback_period?: "0" | "12"\n active?: boolean\n requires_promo_code?: boolean\n }>\n}\n```\n\n### `PriceTier`\n\n```ts\ntype PriceTier = {\n up_to?: number\n flat_fee_amount?: number\n flat_fee_amount_decimal?: string\n unit_amount?: number\n unit_amount_decimal?: string\n display_mode?: "hidden" | "on_request"\n}\n```\n\n### `PriceTierDisplayMode`\n\n```ts\ntype PriceTierDisplayMode = "hidden" | "on_request"\n```\n\n### `PricingModel`\n\nDescribes how to compute the price per period. Either `per_unit`, `tiered_graduated` or `tiered_volume`.\n- `per_unit` indicates that the fixed amount (specified in unit_amount or unit_amount_decimal) will be charged per unit in quantity\n- `tiered_graduated` indicates that the unit pricing will be co\n\n```ts\ntype PricingModel = "per_unit" | "tiered_graduated" | "tiered_volume" | "tiered_flatfee" | "dynamic_tariff" | "external_getag"\n```\n\n### `MarkupPricingModel`\n\nDescribes how to compute the markup per period. Either `per_unit`, `tiered_volume` or `tiered_flatfee`.\n- `per_unit` indicates that the fixed amount (specified in unit_amount or unit_amount_decimal) will be charged per unit in quantity\n- `tiered_volume` indicates that the unit pricing will be comput\n\n```ts\ntype MarkupPricingModel = "per_unit" | "tiered_volume" | "tiered_flatfee"\n```\n\n### `TypeGetAg`\n\n```ts\ntype TypeGetAg = "base_price" | "work_price"\n```\n\n### `TariffTypeGetAg`\n\n```ts\ntype TariffTypeGetAg = "HT" | "NT"\n```\n\n### `ConsumptionTypeGetAg`\n\n```ts\ntype ConsumptionTypeGetAg = "household" | "heating_pump" | "night_storage_heating" | "night_storage_heating_common_meter"\n```\n\n### `ProductCategory`\n\n```ts\ntype ProductCategory = "power" | "gas"\n```\n\n### `PriceGetAg`\n\n```ts\ntype PriceGetAg = {\n category: "power" | "gas"\n markup_pricing_model?: "per_unit" | "tiered_volume" | "tiered_flatfee"\n type?: "base_price" | "work_price"\n tariff_type?: "HT" | "NT"\n consumption_type?: "household" | "heating_pump" | "night_storage_heating" | "night_storage_heating_common_meter"\n concession_type?: "standard" | "special"\n meter_type?: "classic" | "smart" | "digital"\n markup_tiers?: Array<{\n up_to?: number\n flat_fee_amount?: number\n flat_fee_amount_decimal?: string\n unit_amount?: number\n unit_amount_decimal?: string\n display_mode?: "hidden" | "on_request"\n }>\n markup_amount: number\n markup_amount_decimal: string\n markup_amount_net?: number\n markup_amount_net_decimal?: string\n markup_amount_gross?: number\n markup_amount_gross_decimal?: string\n markup_total_amount_net?: number\n markup_total_amount_net_decimal?: string\n markup_total_amount_gross?: number\n markup_total_amount_gross_decimal?: string\n additional_markups_enabled?: boolean\n additional_markups?: Record<string, {\n amount_decimal: string\n amount: number\n amount_net?: number\n amount_net_decimal?: string\n amount_gross?: number\n amount_gross_decimal?: string\n }>\n unit_amount_gross: number\n unit_amount_gross_decimal?: string\n unit_amount_net: number\n unit_amount_net_decimal?: string\n}\n```\n\n### `PriceDynamicTariff`\n\n```ts\ntype PriceDynamicTariff = {\n mode: "day_ahead_market" | "manual"\n interval?: "hourly" | "monthly_average"\n average_price: number\n average_price_decimal: string\n markup_amount?: number\n markup_amount_decimal?: string\n markup_amount_net?: number\n markup_amount_net_decimal?: string\n markup_amount_gross?: number\n markup_amount_gross_decimal?: string\n unit_amount_net?: number\n unit_amount_net_decimal?: string\n unit_amount_gross?: number\n unit_amount_gross_decimal?: string\n}\n```\n\n### `TierDetails`\n\n```ts\ntype TierDetails = {\n quantity: number\n unit_amount: number\n unit_amount_gross: number\n unit_amount_net: number\n amount_total: number\n amount_subtotal: number\n amount_tax: number\n unit_amount_decimal: string\n}\n```\n\n### `SearchExternalCatalogParams`\n\n```ts\ntype SearchExternalCatalogParams = {\n context: {\n journey_id: string\n entity_id?: string\n journey_name: string\n journey_tags?: string[]\n journey_url_params?: Record<string, unknown>\n current_step_name: string\n current_block_name: string\n steps_data: Array<{\n step_name: { ... }\n step_index: { ... }\n blocks: { ... }\n }>\n }\n}\n```\n\n### `ExternalCatalogRequest`\n\nThe request payload for the external catalog service.\n\n```ts\ntype ExternalCatalogRequest = {\n config?: {\n appId: string\n componentId: string\n hookId?: string\n }\n}\n```\n\n### `ExternalCatalogConfigurationRequest`\n\nThe request payload for the external catalog configuration service.\n\n```ts\ntype ExternalCatalogConfigurationRequest = {\n config?: {\n appId: string\n componentId: string\n hookId?: string\n }\n}\n```\n\n### `ExternalCatalogJourneyRequest`\n\nThe request payload for the external catalog service with a journey context.\n\n```ts\ntype ExternalCatalogJourneyRequest = {\n origin: "journey"\n context: {\n journey_id: string\n entity_id?: string\n journey_name: string\n journey_tags?: string[]\n journey_url_params?: Record<string, unknown>\n current_step_name: string\n current_block_name: string\n steps_data: Array<{\n step_name: { ... }\n step_index: { ... }\n blocks: { ... }\n }>\n }\n}\n```\n\n### `ExternalCatalogPortalRequest`\n\nThe request payload for the external catalog service with a portal context.\n\n```ts\ntype ExternalCatalogPortalRequest = {\n origin: "portal"\n context: {\n contract: Record<string, unknown>\n contact: Record<string, unknown>\n availability_address?: {\n postal_code?: { ... }\n city?: { ... }\n street?: { ... }\n street_number?: { ... }\n journey_target_block?: { ... }\n }\n variable_inputs?: Array<{\n value?: { ... }\n unit?: { ... }\n frequency_unit?: { ... }\n journey_target_block?: { ... }\n }>\n }\n}\n```\n\n### `ExternalCatalogCustomRequest`\n\nThe request payload for the external catalog service with a custom context. E.g. for requests from the Portal.\n\n```ts\ntype ExternalCatalogCustomRequest = {\n origin: "custom"\n context: Record<string, unknown>\n}\n```\n\n### `CustomContext`\n\nA custom context object. E.g. for Portal context.\n\n```ts\ntype CustomContext = Record<string, unknown>\n```\n\n### `JourneyContext`\n\n```ts\ntype JourneyContext = {\n journey_id: string\n entity_id?: string\n journey_name: string\n journey_tags?: string[]\n journey_url_params?: Record<string, unknown>\n current_step_name: string\n current_block_name: string\n steps_data: Array<{\n step_name: string\n step_index: number\n blocks: Record<string, unknown>\n }>\n}\n```\n\n### `PortalContext`\n\n```ts\ntype PortalContext = {\n contract: Record<string, unknown>\n contact: Record<string, unknown>\n availability_address?: {\n postal_code?: string\n city?: string\n street?: string\n street_number?: string\n journey_target_block?: string\n }\n variable_inputs?: Array<{\n value?: number\n unit?: string\n frequency_unit?: "weekly" | "monthly" | "every_quarter" | "every_6_months" | "yearly" | "one_time"\n journey_target_block?: string\n }>\n}\n```\n\n### `SearchExternalCatalogResult`\n\n```ts\ntype SearchExternalCatalogResult = {\n hits: number\n results: Array<{\n pricing_details: {\n items?: { ... }\n amount_subtotal?: { ... }\n amount_total?: { ... }\n unit_amount_gross?: { ... }\n unit_amount_net?: { ... }\n amount_tax?: { ... }\n total_details?: { ... }\n currency?: { ... }\n redeemed_promos?: { ... }\n }\n _meta: {\n signature: { ... }\n timestamp: { ... }\n }\n }>\n}\n```\n\n### `SearchExternalCatalogRecommendationsResult`\n\n```ts\ntype SearchExternalCatalogRecommendationsResult = {\n source: {\n pricing_details: {\n items?: { ... }\n amount_subtotal?: { ... }\n amount_total?: { ... }\n unit_amount_gross?: { ... }\n unit_amount_net?: { ... }\n amount_tax?: { ... }\n total_details?: { ... }\n currency?: { ... }\n redeemed_promos?: { ... }\n }\n _meta: {\n signature: { ... }\n timestamp: { ... }\n }\n }\n offers: Array<{\n pricing_details: {\n items?: { ... }\n amount_subtotal?: { ... }\n amount_total?: { ... }\n unit_amount_gross?: { ... }\n unit_amount_net?: { ... }\n amount_tax?: { ... }\n total_details?: { ... }\n currency?: { ... }\n redeemed_promos?: { ... }\n }\n _meta: {\n signature: { ... }\n timestamp: { ... }\n }\n }>\n}\n```\n\n### `ExternalCatalogItem`\n\nAn external product & price information (already computed) from an external catalog.\n\n```ts\ntype ExternalCatalogItem = {\n pricing_details: {\n items?: Array<{\n metadata?: { ... }\n quantity?: { ... }\n product_id?: { ... }\n price_id?: { ... }\n description?: { ... }\n product_description?: { ... }\n product_name?: { ... }\n price_mappings?: { ... }\n is_tax_inclusive?: { ... }\n _product?: { ... }\n } | {\n metadata?: { ... }\n quantity?: { ... }\n product_id?: { ... }\n price_id?: { ... }\n description?: { ... }\n product_description?: { ... }\n product_name?: { ... }\n price_mappings?: { ... }\n is_tax_inclusive?: { ... }\n _product?: { ... }\n }>\n amount_subtotal?: number\n amount_total?: number\n unit_amount_gross?: number\n unit_amount_net?: number\n amount_tax?: number\n total_details?: {\n amount_shipping?: { ... }\n amount_tax?: { ... }\n breakdown?: { ... }\n }\n currency?: string\n redeemed_promos?: Array<{\n code: { ... }\n coupons: { ... }\n }>\n }\n _meta: {\n signature: string\n timestamp: number\n }\n}\n```\n\n### `ProductRecommendationSearch`\n\nProduct recommendations request payload\n\n```ts\ntype ProductRecommendationSearch = {\n product_recommendation_ids?: string[]\n catalog_item?: {\n product_id?: string\n price_id?: string\n }\n contract_id?: string\n filters?: {\n location: {\n street?: { ... }\n street_number?: { ... }\n postal_code?: { ... }\n city?: { ... }\n country?: { ... }\n }\n available_date?: string // date\n }\n}\n```\n\n### `ProductRecommendationResponse`\n\nProduct recommendations request payload\n\n```ts\ntype ProductRecommendationResponse = {\n hits: number\n results: Array<{\n _id: string // uuid\n _title: string\n _org: string\n _schema: string\n _tags?: string[]\n _created_at: string // date-time\n _updated_at: string // date-time\n }>\n}\n```\n\n### `OfferHighlightConfig`\n\n```ts\ntype OfferHighlightConfig = {\n unique_selling_point?: string\n unique_selling_point_icon?: string\n total?: {\n enabled?: boolean\n format?: "absolute" | "relative"\n only_if_better?: boolean\n }\n}\n```\n\n### `Offer`\n\n```ts\ntype Offer = {\n target_id?: string\n items?: Array<{\n price_id: string\n product_id: string\n highlight_config?: {\n unique_selling_point?: { ... }\n unique_selling_point_icon?: { ... }\n total?: { ... }\n }\n }>\n}\n```\n\n### `ProductRecommendation`\n\n```ts\ntype ProductRecommendation = {\n _id: string // uuid\n _title: string\n _org: string\n _schema: string\n _tags?: string[]\n _created_at: string // date-time\n _updated_at: string // date-time\n}\n```\n';
5
+
6
+
7
+ exports.default = pricing_default;
@@ -1,5 +1,5 @@
1
1
  import {
2
2
  require_pricing_runtime
3
- } from "./chunk-63BFJKWV.js";
3
+ } from "./chunk-OHYTCUUB.js";
4
4
  import "./chunk-YPSWSI3M.js";
5
5
  export default require_pricing_runtime();
@@ -1,5 +1,5 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkKP7H52BFcjs = require('./chunk-KP7H52BF.cjs');
3
+ var _chunkUKHR33ELcjs = require('./chunk-UKHR33EL.cjs');
4
4
  require('./chunk-NJK5F5TF.cjs');
5
- exports. default = _chunkKP7H52BFcjs.require_pricing_runtime.call(void 0, );
5
+ exports. default = _chunkUKHR33ELcjs.require_pricing_runtime.call(void 0, );