import { OpenAPIClient, Parameters, UnknownParamsObject, AxiosRequestConfig, OperationResponse } from 'openapi-client-axios'; /* Auto-copied from pricing-client */ declare namespace Components { namespace Schemas { /** * Additional data included in the provider entity */ export interface AdditionalProviderData { gridOperators: { /** * The name of the participant */ name: string; /** * The BDEW/DVGW code number of the participant */ codeNumber: string; /** * The date from which this data is valid from */ validFrom?: string; // date /** * The date until which this data is valid to */ validUntil?: string; // date }[]; defaultSuppliers: { /** * The name of the participant */ name: string; /** * The BDEW/DVGW code number of the participant */ codeNumber: string; /** * The date from which this data is valid from */ validFrom?: string; // date /** * The date until which this data is valid to */ validUntil?: string; // date }[]; marketAreaDetails: /* Market area details for gas */ GasMarketAreaDetails | /* Market area details for power */ PowerMarketAreaDetails; } export interface Address { [name: string]: any; /** * example: * [ * "billing" * ] */ _tags?: string[]; /** * The first line of the address. Typically the street address or PO Box number. */ street?: string | null; /** * The second line of the address. Typically the number of the apartment, suite, or unit. */ street_number?: string | null; /** * The postal code for the address. */ postal_code?: string | null; /** * The name of the city, district, village, or town. */ city?: string | null; /** * The two-letter code for the country of the address. */ country?: string | null; /** * An additional description for the address */ additional_info?: string | null; /** * the company name, usually used as extra delivery instructions */ company_name?: string | null; /** * the first name of the recipient, usually used as extra delivery instructions */ first_name?: string | null; /** * the last name of the recipient, usually used as extra delivery instructions */ last_name?: string | null; /** * the salutation of the recipient, usually used as extra delivery instructions */ salutation?: string | null; /** * the title of the recipient, usually used as extra delivery instructions */ title?: string | null; } export interface Amounts { /** * Total of all items before (discounts or) taxes are applied. */ amount_subtotal?: number; /** * Total of all items before (discounts or) taxes are applied, as a string with all the decimal places. */ amount_subtotal_decimal?: string; /** * Total of all items after (discounts and) taxes are applied. */ amount_total?: number; /** * Total of all items after (discounts and) taxes are applied, as a string with all the decimal places. */ amount_total_decimal?: string; /** * The cashback amount. */ cashback_amount?: number; /** * The cashback amount as a string with all the decimal places. */ cashback_amount_decimal?: string; cashback_period?: /* The cashback period, for now it's limited to either 0 months or 12 months */ CashbackPeriod; /** * Total amount after cashback is applied. */ after_cashback_amount_total?: number; /** * Total amount after cashback is applied as a string with all the decimal places. */ after_cashback_amount_total_decimal?: string; /** * The discount amount. */ discount_amount?: number; /** * The discount amount as a string with all the decimal places. */ discount_amount_decimal?: string; /** * The discount percentage, if the applied coupon had a percentage type. */ discount_percentage?: number; /** * Total amount before discount is applied. */ before_discount_amount_total?: number; /** * Total amount before discount is applied as a string with all the decimal places. */ before_discount_amount_total_decimal?: string; /** * Total amount before discount is applied, excluding taxes. */ before_discount_amount_subtotal?: number; /** * Total amount before discount is applied, excluding taxes, as a string with all the decimal places. */ before_discount_amount_subtotal_decimal?: string; } /** * Availability check request payload */ export interface AvailabilityCheckParams { /** * Products to check availability */ products: string[]; filters: /* Availability filters dimensions */ AvailabilityFilters; } /** * Availability filters dimensions */ export interface AvailabilityFilters { location: AvailabilityLocation; /** * A value to be matched against the availability window (start & end date) * example: * 2017-07-21 */ available_date?: string; // date } export interface AvailabilityLocation { /** * The first line of the address. Typically the street address or PO Box number. */ street?: string; /** * The second line of the address. Typically the number of the apartment, suite, or unit. */ street_number?: string; /** * The postal code for the address. */ postal_code?: string; /** * The name of the city, district, village, or town. */ city?: string; /** * The name of the country. */ country?: string; } /** * The product availability check result payload * example: * { * "available_products": [], * "check_results": [ * { * "product_id": "my-product-id-123-1", * "matching_hits": 0 * }, * { * "product_id": "my-product-id-123-2", * "matching_hits": 0 * } * ] * } */ export interface AvailabilityResult { available_products: string[]; /** * The check result details */ check_results?: { product_id: string; /** * The number of rules matched */ matching_hits?: number; /** * A set of matching errors when checking availability */ matching_error?: { [name: string]: any; }; }[]; } /** * An average market price over a given period in time. */ export interface AverageMarketPriceRecord { /** * Cost in Cents, e.g. 12.3 for 12,3 Cents = 0.123€. * example: * 12.3 */ unit_amount: number; /** * Cost in decimal format, e.g. 0.123€. * example: * 0.123 */ unit_amount_decimal: string; unit_amount_currency: /** * Three-letter ISO currency code, in lowercase. Must be a supported currency. * ISO 4217 CURRENCY CODES as specified in the documentation: https://www.iso.org/iso-4217-currency-codes.html * * example: * EUR */ Currency; /** * An ISO 8601 interval in the format 'start/end'. * example: * 2025-01-01T00:00:00Z/2025-01-31T23:59:59Z */ timestamp: string; } export interface AverageMarketPriceResult { market: /* The market for a spot market price. */ SpotMarketType; bidding_zone: /* The bidding zone for a spot market price. */ SpotMarketBiddingZone; price: /* An average market price over a given period in time. */ AverageMarketPriceRecord; _meta?: /* Signature meta data payload */ SignatureMeta; } /** * The common properties for a composite price entity, without the price components * example: * { * "_id": "c2a95ca9-7a50-41a4-a73c-b5fb1a57d40f", * "_schema": "price", * "_title": "My Composite Price", * "description": "My Composite Price", * "_org": "739224", * "_created_at": "2022-02-18T10:10:26.439Z", * "_updated_at": "2022-02-18T11:53:04.191Z", * "active": true, * "is_composite_price": true, * "price_components": { * "$relation": [ * { * "entity_id": "comp1-2a95ca9-7a50-41a4-a73c-b5fb1a57d40f", * "_schema": "price", * "_product_id": "target-price-product-id", * "quantity": 1, * "item": { * "_id": "comp1-2a95ca9-7a50-41a4-a73c-b5fb1a57d40f", * "unit_amount": 10000, * "unit_amount_currency": "EUR", * "unit_amount_decimal": "100.00", * "sales_tax": "standard", * "is_tax_inclusive": false, * "price_display_in_journeys": "show_price", * "type": "one_time", * "_schema": "price", * "_title": "Test 1", * "description": "Test 1", * "tax": { * "$relation": [ * { * "entity_id": "18bbbc2e-2c37-4f91-924a-07ae60d830e4" * } * ] * }, * "_org": "739224", * "_created_at": "2022-02-18T10:10:26.439Z", * "_updated_at": "2022-02-18T11:53:04.191Z", * "active": true, * "billing_period": "weekly", * "billing_duration_unit": "months", * "notice_time_unit": "months", * "termination_time_unit": "months", * "renewal_duration_unit": "months", * "is_composite_price": false * } * }, * { * "entity_id": "comp2-2a95ca9-7a50-41a4-a73c-b5fb1a57d40f", * "_schema": "price", * "_product_id": "target-price-product-id", * "quantity": 2, * "item": { * "_id": "comp2-2a95ca9-7a50-41a4-a73c-b5fb1a57d40f", * "unit_amount": 10000, * "unit_amount_currency": "EUR", * "unit_amount_decimal": "100.00", * "sales_tax": "standard", * "is_tax_inclusive": false, * "price_display_in_journeys": "show_price", * "type": "one_time", * "_schema": "price", * "_title": "Test 1", * "description": "Test 1", * "tax": { * "$relation": [ * { * "entity_id": "18bbbc2e-2c37-4f91-924a-07ae60d830e4" * } * ] * }, * "_org": "739224", * "_created_at": "2022-02-18T10:10:26.439Z", * "_updated_at": "2022-02-18T11:53:04.191Z", * "active": true, * "billing_period": "weekly", * "billing_duration_unit": "months", * "notice_time_unit": "months", * "termination_time_unit": "months", * "renewal_duration_unit": "months", * "is_composite_price": false * } * } * ] * } * } */ export interface BaseCompositePrice { [name: string]: any; /** * The billing period duration */ billing_duration_amount?: number | null; /** * The billing period duration unit */ billing_duration_unit?: "days" | "weeks" | "months" | "years"; /** * The notice period duration */ notice_time_amount?: number | null; /** * The notice period duration unit */ notice_time_unit?: "days" | "weeks" | "months" | "years"; /** * The termination period duration */ termination_time_amount?: number | null; /** * The termination period duration unit */ termination_time_unit?: "days" | "weeks" | "months" | "years"; /** * The renewal period duration */ renewal_duration_amount?: number | null; /** * The renewal period duration unit */ renewal_duration_unit?: "days" | "weeks" | "months" | "years"; /** * Whether the price can be used for new purchases. */ active?: boolean; /** * A brief description of the price. */ description?: string; /** * A set of [price](/api/pricing#tag/simple_price_schema) components that define the composite price. */ price_components?: /* A set of [price](/api/pricing#tag/simple_price_schema) components that define the composite price. */ /** * The price entity schema for simple pricing * example: * { * "unit_amount": 100000, * "unit_amount_currency": "EUR", * "unit_amount_decimal": "1000", * "sales_tax": "standard", * "is_tax_inclusive": true, * "price_display_in_journeys": "show_price", * "type": "one_time", * "billing_period": "weekly", * "billing_duration_unit": "months", * "notice_time_unit": "months", * "termination_time_unit": "months", * "renewal_duration_unit": "months", * "_schema": "price", * "_title": "Solar Panel Module", * "description": "Solar Panel Module", * "active": true, * "_id": "9c36c23b-1574-4193-beff-b1b5e1124bc7", * "_org": "728", * "_created_at": "2022-06-03T16:04:10.369Z", * "_updated_at": "2022-06-03T16:04:10.369Z", * "pricing_model": "per_unit", * "is_composite_price": false * } */ Price[] | { $relation?: PriceComponentRelation[]; }; /** * Three-letter ISO currency code, in lowercase. */ unit_amount_currency?: /* Three-letter ISO currency code, in lowercase. */ /** * Three-letter ISO currency code, in lowercase. Must be a supported currency. * ISO 4217 CURRENCY CODES as specified in the documentation: https://www.iso.org/iso-4217-currency-codes.html * * example: * EUR */ Currency; /** * The flag for prices that contain price components. */ is_composite_price: true; /** * The price creation date */ _created_at?: string; /** * The price id */ _id?: string; /** * The price autogenerated title */ _title?: string; /** * The price last update date */ _updated_at?: string; /** * The organization id the price belongs to */ _org_id?: string; /** * An arbitrary set of tags attached to the composite price */ _tags?: string[]; } /** * The shared properties for the coupon entity and coupon item entity */ export interface BaseCouponCommon { [name: string]: any; _id: EntityId /* uuid */; /** * The auto-generated title for the title */ _title: string; /** * Organization Id the entity belongs to */ _org: string; /** * The schema of the entity, for coupons it is always `coupon` */ _schema: "coupon"; _tags?: string[]; /** * The creation date for the opportunity */ _created_at: string; // date-time /** * The date the coupon was last updated */ _updated_at: string; // date-time name: string | null; description?: string | null; type: "fixed" | "percentage"; category: "discount" | "cashback"; /** * Use if type is set to percentage. The percentage to be discounted, represented as a whole integer. */ percentage_value?: string | null; /** * Use if type is set to fixed. The fixed amount in cents to be discounted, represented as a whole integer. */ fixed_value?: number; /** * Use if type is set to fixed. The unit amount in eur to be discounted, represented as a decimal string with at most 12 decimal places. */ fixed_value_decimal?: string; /** * Use if type is set to fixed. Three-letter ISO currency code, in lowercase. */ fixed_value_currency?: /* Use if type is set to fixed. Three-letter ISO currency code, in lowercase. */ /** * Three-letter ISO currency code, in lowercase. Must be a supported currency. * ISO 4217 CURRENCY CODES as specified in the documentation: https://www.iso.org/iso-4217-currency-codes.html * * example: * EUR */ Currency; cashback_period?: /* The cashback period, for now it's limited to either 0 months or 12 months */ CashbackPeriod; active?: boolean; /** * Whether the coupon requires a promo code to be applied */ requires_promo_code?: boolean; } export interface BaseMarketPriceRecord { /** * Cost in Cents, e.g. 12.3 for 12,3 Cents = 0.123€. * example: * 12.3 */ unit_amount: number; /** * Cost in decimal format, e.g. 0.123€. * example: * 0.123 */ unit_amount_decimal: string; unit_amount_currency: /** * Three-letter ISO currency code, in lowercase. Must be a supported currency. * ISO 4217 CURRENCY CODES as specified in the documentation: https://www.iso.org/iso-4217-currency-codes.html * * example: * EUR */ Currency; } /** * Represents a price item * example: * { * "amount_subtotal": 10000, * "amount_total": 10600, * "currency": "EUR", * "description": "Annual internet service", * "price_id": "7e24ff5d-d580-4136-a32f-19191eed039a", * "product_id": "6241487f-b7fd-428b-ab92-24ee0b37fd84", * "taxes": [ * { * "amount": 600, * "tax": { * "active": true, * "description": "Without Behaviour", * "rate": 6, * "region": "DE", * "type": "VAT", * "_created_at": "2022-02-07T14:49:08.831Z", * "_id": "18bbbc2e-2c37-4f91-924a-07ae60d830e4", * "_org": "739224", * "_schema": "tax", * "_title": "Tax Without Behaviour", * "_updated_at": "2022-02-07T14:49:08.831Z" * } * } * ], * "unit_amount": 10000, * "unit_amount_net": 10000, * "pricing_model": "per_unit", * "_price": { * "unit_amount": 10000, * "unit_amount_currency": "EUR", * "unit_amount_decimal": "100.00", * "sales_tax": "standard", * "is_tax_inclusive": false, * "price_display_in_journeys": "show_price", * "type": "one_time", * "billing_period": "weekly", * "billing_duration_unit": "months", * "notice_time_unit": "months", * "termination_time_unit": "months", * "renewal_duration_unit": "months", * "_schema": "price", * "_title": "Solar Panel Module", * "description": "Solar Panel Module", * "active": true, * "tax": { * "$relation": [ * { * "entity_id": "24641e82-0690-4135-8b43-ef12a9b1c5dc" * } * ] * }, * "_id": "7e24ff5d-d580-4136-a32f-19191eed039a", * "_org": "728", * "_created_at": "2022-06-03T16:04:10.369Z", * "_updated_at": "2022-06-03T16:04:10.369Z", * "pricing_model": "per_unit" * }, * "_product": { * "name": "Cool box", * "type": "product", * "_id": "73f857a4-0fbc-4aa6-983f-87c0d6d410a6", * "_title": "Cool box" * } * } */ export interface BasePriceItem { /** * Total of all items before (discounts or) taxes are applied. */ amount_subtotal?: number; /** * Total of all items before (discounts or) taxes are applied, as a string with all the decimal places. */ amount_subtotal_decimal?: string; /** * Total of all items after (discounts and) taxes are applied. */ amount_total?: number; /** * Total of all items after (discounts and) taxes are applied, as a string with all the decimal places. */ amount_total_decimal?: string; /** * The cashback amount. */ cashback_amount?: number; /** * The cashback amount as a string with all the decimal places. */ cashback_amount_decimal?: string; cashback_period?: /* The cashback period, for now it's limited to either 0 months or 12 months */ CashbackPeriod; /** * Total amount after cashback is applied. */ after_cashback_amount_total?: number; /** * Total amount after cashback is applied as a string with all the decimal places. */ after_cashback_amount_total_decimal?: string; /** * The discount amount. */ discount_amount?: number; /** * The discount amount as a string with all the decimal places. */ discount_amount_decimal?: string; /** * The discount percentage, if the applied coupon had a percentage type. */ discount_percentage?: number; /** * Total amount before discount is applied. */ before_discount_amount_total?: number; /** * Total amount before discount is applied as a string with all the decimal places. */ before_discount_amount_total_decimal?: string; /** * Total amount before discount is applied, excluding taxes. */ before_discount_amount_subtotal?: number; /** * Total amount before discount is applied, excluding taxes, as a string with all the decimal places. */ before_discount_amount_subtotal_decimal?: string; metadata?: /* A set of key-value pairs used to store meta data information about an entity. */ MetaData; /** * The quantity of products being purchased. */ quantity?: number; /** * The id of the product. */ product_id?: string; /** * The id of the price. */ price_id?: string; /** * An arbitrary string attached to the price item. Often useful for displaying to users. Defaults to product name. */ description?: string; /** * The description for the product. */ product_description?: string; /** * The name for the product. */ product_name?: string; price_mappings?: /** * example: * [ * { * "price_id": "589B011B-F8D9-4F8E-AD71-BACE4B543C0F", * "frequency_unit": "weekly", * "value": 1000.245, * "name": "avg consumption", * "metadata": { * "journey_title": "energy journey", * "step_name": "avg consumption picker" * } * } * ] */ PriceInputMappings; /** * Specifies whether the price is considered `inclusive` of taxes or not. */ is_tax_inclusive?: boolean; /** * The snapshot of the product. * example: * { * "type": "product", * "_schema": "product", * "_title": "Solar Panel with Battery Storage", * "name": "Solar Panel with Battery Storage", * "code": "SOLAR-BATT", * "active": true, * "description": "Solar Panel with battery solution, optimized for max efficiency. ", * "feature": [ * { * "_tags": [], * "feature": "Eco-Panels" * }, * { * "_tags": [], * "feature": "Remote Management Platform" * }, * { * "_tags": [], * "feature": "Battery Remote Control" * }, * { * "_tags": [], * "feature": "Mobile App" * } * ], * "cross_sellable_products": { * "$relation": [ * { * "entity_id": "068d0713-a650-4668-9ed2-eca7be31e337", * "_schema": "product", * "_tags": [] * }, * { * "entity_id": "c8402ee7-fba9-4f3d-bffd-6803ca655782", * "_tags": [] * } * ] * }, * "product_images": { * "$relation": [ * { * "entity_id": "37bdeaaa-65fe-403e-9894-65b01cd277f1" * }, * { * "entity_id": "56dde657-795c-41bb-bf53-98fd586b7e6e" * } * ] * }, * "product_downloads": { * "$relation": [ * { * "entity_id": "64211361-8759-414b-81c0-afbf24f83aa9" * } * ] * }, * "_id": "a7f4771a-6368-4d77-bb01-71f1e4902de5", * "_org": "728", * "_created_at": "2022-06-03T15: 52: 27.512Z", * "_updated_at": "2022-06-03T16: 05: 15.029Z", * "price_options": { * "$relation": [ * { * "entity_id": "9c36c23b-1574-4193-beff-b1b5e1124bc7", * "_tags": [] * }, * { * "entity_id": "146aa2cc-f267-4d5e-bda4-cbe2669b7741", * "_tags": [] * } * ] * } * } */ _product?: { [name: string]: any; /** * The description for the product */ description?: string; /** * The product code */ code?: string; /** * The type of Product: * * | type | description | * |----| ----| * | `product` | Represents a physical good | * | `service` | Represents a service or virtual product | * */ type?: "product" | "service"; /** * The product main name */ name?: string; /** * The product categories */ categories?: string[]; feature?: { /** * An arbitrary set of tags attached to a feature */ _tags?: string[]; feature?: string; }[]; /** * Stores references to products that can be cross sold with the current product. */ cross_sellable_products?: { $relation?: EntityRelation[]; }; /** * Stores references to a set of file images of the product */ product_images?: /* Stores references to a set of file images of the product */ { $relation?: EntityRelation[]; } | File[]; /** * Stores references to a set of files downloadable from the product. * e.g: tech specifications, quality control sheets, privacy policy agreements * */ product_downloads?: /** * Stores references to a set of files downloadable from the product. * e.g: tech specifications, quality control sheets, privacy policy agreements * */ { $relation?: EntityRelation[]; } | File[]; /** * A set of [prices](/api/pricing#tag/simple_price_schema) or [composite prices](/api/pricing#tag/dynamic_price_schema) for the current product. */ price_options?: { $relation?: EntityRelation[]; }; /** * Stores references to the availability files that define where this product is available. * These files are used when interacting with products via epilot Journeys, thought the AvailabilityCheck block. * */ _availability_files?: File[]; /** * The product id */ _id?: string; /** * The autogenerated product title */ _title?: string; /** * The organization id the product belongs to */ _org_id?: string; /** * The product creation date */ _created_at?: string; /** * The product last update date */ _updated_at?: string; }; /** * price item id */ _id?: string; /** * The unit amount value */ unit_amount?: number; /** * The unit amount in eur to be charged, represented as a decimal string with at most 12 decimal places. */ unit_amount_decimal?: string; /** * The unit amount before any discount is applied */ before_discount_unit_amount?: number; /** * The unit amount before any discount is applied, represented as a decimal string with at most 12 decimal places. */ before_discount_unit_amount_decimal?: string; /** * The unit gross amount before any discount is applied */ before_discount_unit_amount_gross?: number; /** * The unit gross amount before any discount is applied, represented as a decimal string with at most 12 decimal places. */ before_discount_unit_amount_gross_decimal?: string; /** * The unit net amount before any discount is applied */ before_discount_unit_amount_net?: number; /** * The unit net amount before any discount is applied, represented as a decimal string with at most 12 decimal places. */ before_discount_unit_amount_net_decimal?: string; /** * The discount amount applied for each unit */ unit_discount_amount?: number; /** * The discount amount applied for each unit represented as a decimal string */ unit_discount_amount_decimal?: string; /** * The unit gross amount value. */ unit_amount_gross?: number; /** * The unit gross amount value. */ unit_amount_gross_decimal?: string; /** * Net unit amount without taxes or discounts. */ unit_amount_net?: number; /** * Net unit amount without taxes or discounts. */ unit_amount_net_decimal?: string; /** * The net discount amount applied for each unit */ unit_discount_amount_net?: number; /** * The net discount amount applied for each unit represented as a decimal string */ unit_discount_amount_net_decimal?: string; /** * The discount amount applied to the tax */ tax_discount_amount?: number; /** * The discount amount applied to the tax represented as a decimal string */ tax_discount_amount_decimal?: string; /** * The net discount amount applied */ discount_amount_net?: number; /** * The net discount amount applied represented as a decimal string */ discount_amount_net_decimal?: string; /** * Total tax amount for this line item. */ amount_tax?: number; /** * The tax amount before any discount is applied */ before_discount_tax_amount?: number; /** * The tax amount before any discount is applied represented as a decimal string */ before_discount_tax_amount_decimal?: string; currency?: /** * Three-letter ISO currency code, in lowercase. Must be a supported currency. * ISO 4217 CURRENCY CODES as specified in the documentation: https://www.iso.org/iso-4217-currency-codes.html * * example: * EUR */ Currency; /** * The taxes applied to the price item. */ taxes?: (/* A tax amount associated with a specific tax rate. */ TaxAmount)[]; /** * The sum of amounts of the price items by recurrence. */ recurrences?: (/* An amount associated with a specific recurrence. */ RecurrenceAmount)[]; /** * The coupons applicable to the price item */ _coupons?: (/* The shared properties for the coupon entity and coupon item entity */ CouponItem)[]; /** * When set to true on a `_price` displayed as OnRequest (`show_as_on_request: 'on_request'`) this flag means the price has been approved and can now be displayed to the customer. This flag is only valid for prices shown as 'on_request'. */ on_request_approved?: boolean; } /** * Represents the common keys in BasePriceItem and BasePriceItemDto */ export interface BasePriceItemCommon { metadata?: /* A set of key-value pairs used to store meta data information about an entity. */ MetaData; /** * The quantity of products being purchased. */ quantity?: number; /** * The id of the product. */ product_id?: string; /** * The id of the price. */ price_id?: string; /** * An arbitrary string attached to the price item. Often useful for displaying to users. Defaults to product name. */ description?: string; /** * The description for the product. */ product_description?: string; /** * The name for the product. */ product_name?: string; price_mappings?: /** * example: * [ * { * "price_id": "589B011B-F8D9-4F8E-AD71-BACE4B543C0F", * "frequency_unit": "weekly", * "value": 1000.245, * "name": "avg consumption", * "metadata": { * "journey_title": "energy journey", * "step_name": "avg consumption picker" * } * } * ] */ PriceInputMappings; /** * Specifies whether the price is considered `inclusive` of taxes or not. */ is_tax_inclusive?: boolean; /** * The snapshot of the product. * example: * { * "type": "product", * "_schema": "product", * "_title": "Solar Panel with Battery Storage", * "name": "Solar Panel with Battery Storage", * "code": "SOLAR-BATT", * "active": true, * "description": "Solar Panel with battery solution, optimized for max efficiency. ", * "feature": [ * { * "_tags": [], * "feature": "Eco-Panels" * }, * { * "_tags": [], * "feature": "Remote Management Platform" * }, * { * "_tags": [], * "feature": "Battery Remote Control" * }, * { * "_tags": [], * "feature": "Mobile App" * } * ], * "cross_sellable_products": { * "$relation": [ * { * "entity_id": "068d0713-a650-4668-9ed2-eca7be31e337", * "_schema": "product", * "_tags": [] * }, * { * "entity_id": "c8402ee7-fba9-4f3d-bffd-6803ca655782", * "_tags": [] * } * ] * }, * "product_images": { * "$relation": [ * { * "entity_id": "37bdeaaa-65fe-403e-9894-65b01cd277f1" * }, * { * "entity_id": "56dde657-795c-41bb-bf53-98fd586b7e6e" * } * ] * }, * "product_downloads": { * "$relation": [ * { * "entity_id": "64211361-8759-414b-81c0-afbf24f83aa9" * } * ] * }, * "_id": "a7f4771a-6368-4d77-bb01-71f1e4902de5", * "_org": "728", * "_created_at": "2022-06-03T15: 52: 27.512Z", * "_updated_at": "2022-06-03T16: 05: 15.029Z", * "price_options": { * "$relation": [ * { * "entity_id": "9c36c23b-1574-4193-beff-b1b5e1124bc7", * "_tags": [] * }, * { * "entity_id": "146aa2cc-f267-4d5e-bda4-cbe2669b7741", * "_tags": [] * } * ] * } * } */ _product?: { [name: string]: any; /** * The description for the product */ description?: string; /** * The product code */ code?: string; /** * The type of Product: * * | type | description | * |----| ----| * | `product` | Represents a physical good | * | `service` | Represents a service or virtual product | * */ type?: "product" | "service"; /** * The product main name */ name?: string; /** * The product categories */ categories?: string[]; feature?: { /** * An arbitrary set of tags attached to a feature */ _tags?: string[]; feature?: string; }[]; /** * Stores references to products that can be cross sold with the current product. */ cross_sellable_products?: { $relation?: EntityRelation[]; }; /** * Stores references to a set of file images of the product */ product_images?: /* Stores references to a set of file images of the product */ { $relation?: EntityRelation[]; } | File[]; /** * Stores references to a set of files downloadable from the product. * e.g: tech specifications, quality control sheets, privacy policy agreements * */ product_downloads?: /** * Stores references to a set of files downloadable from the product. * e.g: tech specifications, quality control sheets, privacy policy agreements * */ { $relation?: EntityRelation[]; } | File[]; /** * A set of [prices](/api/pricing#tag/simple_price_schema) or [composite prices](/api/pricing#tag/dynamic_price_schema) for the current product. */ price_options?: { $relation?: EntityRelation[]; }; /** * Stores references to the availability files that define where this product is available. * These files are used when interacting with products via epilot Journeys, thought the AvailabilityCheck block. * */ _availability_files?: File[]; /** * The product id */ _id?: string; /** * The autogenerated product title */ _title?: string; /** * The organization id the product belongs to */ _org_id?: string; /** * The product creation date */ _created_at?: string; /** * The product last update date */ _updated_at?: string; }; } /** * Represents a valid base price item from a client. */ export interface BasePriceItemDto { metadata?: /* A set of key-value pairs used to store meta data information about an entity. */ MetaData; /** * The quantity of products being purchased. */ quantity?: number; /** * The id of the product. */ product_id?: string; /** * The id of the price. */ price_id?: string; /** * An arbitrary string attached to the price item. Often useful for displaying to users. Defaults to product name. */ description?: string; /** * The description for the product. */ product_description?: string; /** * The name for the product. */ product_name?: string; price_mappings?: /** * example: * [ * { * "price_id": "589B011B-F8D9-4F8E-AD71-BACE4B543C0F", * "frequency_unit": "weekly", * "value": 1000.245, * "name": "avg consumption", * "metadata": { * "journey_title": "energy journey", * "step_name": "avg consumption picker" * } * } * ] */ PriceInputMappings; /** * Specifies whether the price is considered `inclusive` of taxes or not. */ is_tax_inclusive?: boolean; /** * The snapshot of the product. * example: * { * "type": "product", * "_schema": "product", * "_title": "Solar Panel with Battery Storage", * "name": "Solar Panel with Battery Storage", * "code": "SOLAR-BATT", * "active": true, * "description": "Solar Panel with battery solution, optimized for max efficiency. ", * "feature": [ * { * "_tags": [], * "feature": "Eco-Panels" * }, * { * "_tags": [], * "feature": "Remote Management Platform" * }, * { * "_tags": [], * "feature": "Battery Remote Control" * }, * { * "_tags": [], * "feature": "Mobile App" * } * ], * "cross_sellable_products": { * "$relation": [ * { * "entity_id": "068d0713-a650-4668-9ed2-eca7be31e337", * "_schema": "product", * "_tags": [] * }, * { * "entity_id": "c8402ee7-fba9-4f3d-bffd-6803ca655782", * "_tags": [] * } * ] * }, * "product_images": { * "$relation": [ * { * "entity_id": "37bdeaaa-65fe-403e-9894-65b01cd277f1" * }, * { * "entity_id": "56dde657-795c-41bb-bf53-98fd586b7e6e" * } * ] * }, * "product_downloads": { * "$relation": [ * { * "entity_id": "64211361-8759-414b-81c0-afbf24f83aa9" * } * ] * }, * "_id": "a7f4771a-6368-4d77-bb01-71f1e4902de5", * "_org": "728", * "_created_at": "2022-06-03T15: 52: 27.512Z", * "_updated_at": "2022-06-03T16: 05: 15.029Z", * "price_options": { * "$relation": [ * { * "entity_id": "9c36c23b-1574-4193-beff-b1b5e1124bc7", * "_tags": [] * }, * { * "entity_id": "146aa2cc-f267-4d5e-bda4-cbe2669b7741", * "_tags": [] * } * ] * } * } */ _product?: { [name: string]: any; /** * The description for the product */ description?: string; /** * The product code */ code?: string; /** * The type of Product: * * | type | description | * |----| ----| * | `product` | Represents a physical good | * | `service` | Represents a service or virtual product | * */ type?: "product" | "service"; /** * The product main name */ name?: string; /** * The product categories */ categories?: string[]; feature?: { /** * An arbitrary set of tags attached to a feature */ _tags?: string[]; feature?: string; }[]; /** * Stores references to products that can be cross sold with the current product. */ cross_sellable_products?: { $relation?: EntityRelation[]; }; /** * Stores references to a set of file images of the product */ product_images?: /* Stores references to a set of file images of the product */ { $relation?: EntityRelation[]; } | File[]; /** * Stores references to a set of files downloadable from the product. * e.g: tech specifications, quality control sheets, privacy policy agreements * */ product_downloads?: /** * Stores references to a set of files downloadable from the product. * e.g: tech specifications, quality control sheets, privacy policy agreements * */ { $relation?: EntityRelation[]; } | File[]; /** * A set of [prices](/api/pricing#tag/simple_price_schema) or [composite prices](/api/pricing#tag/dynamic_price_schema) for the current product. */ price_options?: { $relation?: EntityRelation[]; }; /** * Stores references to the availability files that define where this product is available. * These files are used when interacting with products via epilot Journeys, thought the AvailabilityCheck block. * */ _availability_files?: File[]; /** * The product id */ _id?: string; /** * The autogenerated product title */ _title?: string; /** * The organization id the product belongs to */ _org_id?: string; /** * The product creation date */ _created_at?: string; /** * The product last update date */ _updated_at?: string; }; external_fees_mappings?: /** * example: * [ * { * "price_id": "589B011B-F8D9-4F8E-AD71-BACE4B543C0F", * "frequency_unit": "weekly", * "amount_total": 1000, * "amount_total_decimal": "10.00" * } * ] */ ExternalFeeMappings; external_fees_metadata?: ExternalFeeMetadata; external_location_metadata?: /* The provider entity */ ExternalLocationMetadata; external_price_metadata?: ExternalPriceMetadata; _immutable_pricing_details?: /* The result from the calculation of a set of price items. */ PricingDetails; /** * The ids of the coupons applicable to the price item */ coupon_ids?: string[]; /** * The taxes applied to the price item. */ taxes?: (/* A valid tax rate from a client. */ TaxAmountDto)[]; /** * The taxes applied to the price item. */ recurrences?: (/* An amount associated with a specific recurrence. */ RecurrenceAmountDto)[]; /** * The coupons applicable to the price item */ _coupons?: (/* The shared properties for the coupon entity and coupon item entity */ CouponItem)[]; } export interface BasicAuthCredentials { /** * The username * example: * username */ username: string; /** * The password * example: * 123456 */ password: string; } export interface BasicAuthIntegration { /** * The username * example: * username */ username: string; /** * The password * example: * 123456 */ password: string; auth_type?: "basic_auth"; /** * The base URL * example: * https://api.example.com */ base_url?: string; } export type BillingPeriod = "weekly" | "monthly" | "every_quarter" | "every_6_months" | "yearly"; /** * A valid cart payload from a client. */ export interface CartDto { metadata?: /* A set of key-value pairs used to store meta data information about an entity. */ MetaData; customer?: Customer; billing_address?: Address; delivery_address?: Address; /** * type of source, e.g. journey or manual * example: * journey */ source_type?: string; /** * identifier for source e.g. journey ID * example: * ce99875f-fba9-4fe2-a8f9-afaf52059051 */ source_id?: string; source?: /* The order generation source */ OrderSource; additional_addresses?: Address[]; payment_method?: /** * A PaymentMethod represent your customer's payment instruments. * */ PaymentMethod; line_items: /* A valid set of product prices, quantities, (discounts) and taxes from a client. */ PriceItemsDto; /** * An array of file IDs, already upload into the File API, that are related with this cart */ files?: string[]; status?: /** * * | status | description | * |-------------|-------| * | `draft` | ​​Starting state for all orders, at this point we can still edit the order | * | `quote` | The order is in a quoting phase, bound to an expiration date | * | `placed` | The order has been paid and can now be fulfilled (shipped, delivered, complete) or canceled | * | `cancelled` | The order has been cancelled | * | `completed` | The order is now closed and finalized | * */ OrderStatus; tags?: string[]; journey_data?: { [name: string]: any; }; consents?: { [name: string]: any; }; } /** * A detail associated with a specific cashback. */ export interface CashbackAmount { /** * The name of the cashback. */ cashback_name?: string; cashback_period: /* The cashback period, for now it's limited to either 0 months or 12 months */ CashbackPeriod; /** * The sum of all cashbacks for a specific cashback period */ amount_total: number; } export interface CashbackAmounts { /** * The cashback amount. */ cashback_amount?: number; /** * The cashback amount as a string with all the decimal places. */ cashback_amount_decimal?: string; cashback_period?: /* The cashback period, for now it's limited to either 0 months or 12 months */ CashbackPeriod; /** * Total amount after cashback is applied. */ after_cashback_amount_total?: number; /** * Total amount after cashback is applied as a string with all the decimal places. */ after_cashback_amount_total_decimal?: string; } /** * The cashback period, for now it's limited to either 0 months or 12 months */ export type CashbackPeriod = "0" | "12"; /** * A catalog search payload * example: * { * "q": "_id:1233432 OR _id:123432454 OR _id:23445433", * "sort": "description ASC", * "from": 0, * "size": 200 * } */ export interface CatalogSearch { /** * The query to perform using lucene query syntax. */ q: string; /** * The sort expression to sort the results. */ sort?: string; /** * The index from which to query, used for pagination purposes. Defaults to 0 */ from?: number; /** * The max size of the response, defaults to 2000. */ size?: number; /** * When true, enables entity hydration to resolve nested $relation references in-place. */ hydrate?: boolean; availability?: /* Availability filters dimensions */ AvailabilityFilters; } /** * The query result payload * example: * { * "hits": 2, * "results": [ * { * "schema": "product", * "description": "product a" * }, * { * "schema": "price", * "unit_amount_decimal": "124.342343434" * } * ] * } */ export interface CatalogSearchResult { /** * The number of results returned. */ hits?: number; results?: (/** * The product entity * example: * { * "type": "product", * "_schema": "product", * "_title": "Solar Panel with Battery Storage", * "name": "Solar Panel with Battery Storage", * "code": "SOLAR-BATT", * "active": true, * "description": "Solar Panel with battery solution, optimized for max efficiency. ", * "feature": [ * { * "_tags": [], * "feature": "Eco-Panels" * }, * { * "_tags": [], * "feature": "Remote Management Platform" * }, * { * "_tags": [], * "feature": "Battery Remote Control" * }, * { * "_tags": [], * "feature": "Mobile App" * } * ], * "cross_sellable_products": { * "$relation": [ * { * "entity_id": "068d0713-a650-4668-9ed2-eca7be31e337", * "_schema": "product", * "_tags": [] * }, * { * "entity_id": "c8402ee7-fba9-4f3d-bffd-6803ca655782", * "_tags": [] * } * ] * }, * "product_images": { * "$relation": [ * { * "entity_id": "37bdeaaa-65fe-403e-9894-65b01cd277f1" * }, * { * "entity_id": "56dde657-795c-41bb-bf53-98fd586b7e6e" * } * ] * }, * "product_downloads": { * "$relation": [ * { * "entity_id": "64211361-8759-414b-81c0-afbf24f83aa9" * } * ] * }, * "_id": "a7f4771a-6368-4d77-bb01-71f1e4902de5", * "_org": "728", * "_created_at": "2022-06-03T15: 52: 27.512Z", * "_updated_at": "2022-06-03T16: 05: 15.029Z", * "price_options": { * "$relation": [ * { * "entity_id": "9c36c23b-1574-4193-beff-b1b5e1124bc7", * "_tags": [] * }, * { * "entity_id": "146aa2cc-f267-4d5e-bda4-cbe2669b7741", * "_tags": [] * } * ] * } * } */ Product | /** * The price entity schema for simple pricing * example: * { * "unit_amount": 100000, * "unit_amount_currency": "EUR", * "unit_amount_decimal": "1000", * "sales_tax": "standard", * "is_tax_inclusive": true, * "price_display_in_journeys": "show_price", * "type": "one_time", * "billing_period": "weekly", * "billing_duration_unit": "months", * "notice_time_unit": "months", * "termination_time_unit": "months", * "renewal_duration_unit": "months", * "_schema": "price", * "_title": "Solar Panel Module", * "description": "Solar Panel Module", * "active": true, * "_id": "9c36c23b-1574-4193-beff-b1b5e1124bc7", * "_org": "728", * "_created_at": "2022-06-03T16:04:10.369Z", * "_updated_at": "2022-06-03T16:04:10.369Z", * "pricing_model": "per_unit", * "is_composite_price": false * } */ Price | /** * The coupon entity * example: * { * "_id": "123e4567-e89b-12d3-a456-426614174000", * "_schema": "coupon", * "_org": "org_12345", * "_created_at": "2024-01-15T10:00:00.000Z", * "_updated_at": "2024-01-20T12:00:00.000Z", * "_title": "Sample Coupon", * "name": "Sample Coupon", * "type": "fixed", * "fixed_value": 555, * "fixed_value_currency": "USD", * "fixed_value_decimal": "5.55", * "active": true, * "category": "cashback", * "prices": { * "$relation": [ * { * "entity_id": "abc12345-def6-7890-gh12-ijklmnopqrst", * "_tags": [ * "discount", * "special" * ], * "_schema": "price" * } * ] * } * } */ Coupon)[]; } /** * The cart checkout request payload */ export interface CheckoutCart { cart?: string | /* A valid cart payload from a client. */ CartDto; redeemed_promos?: RedeemedPromo[]; mode?: /* The checkout mode for the cart checkout. */ CheckoutMode; } /** * The cart checkout result */ export interface CheckoutCartResult { order?: /** * The order entity * example: * { * "order_number": "OR 2022/742701", * "status": "quote", * "source": { * "title": "manual", * "href": null * }, * "source_type": "manual", * "_schema": "order", * "_title": "OR 2022/742701", * "expires_at": "2022-06-30T16:17:00.000Z", * "line_items": [ * { * "price_id": "9c36c23b-1574-4193-beff-b1b5e1124bc7", * "product_id": "a7f4771a-6368-4d77-bb01-71f1e4902de5", * "pricing_model": "per_unit", * "is_composite_price": false, * "taxes": [ * { * "tax": { * "_id": "24641e82-0690-4135-8b43-ef12a9b1c5dc", * "rate": 19, * "_schema": "tax", * "_org": "728", * "_created_at": "2021-09-24T15:06:13.859Z", * "_updated_at": "2022-04-04T17:36:15.273Z", * "_title": "Tax Standard", * "type": "VAT", * "active": true, * "region": "DE", * "description": "Standard" * }, * "amount": 255462 * } * ], * "_price": { * "_id": "9c36c23b-1574-4193-beff-b1b5e1124bc7", * "unit_amount": 100000, * "unit_amount_currency": "EUR", * "unit_amount_decimal": "1000", * "sales_tax": "standard", * "is_tax_inclusive": true, * "price_display_in_journeys": "show_price", * "type": "one_time", * "billing_period": "weekly", * "billing_duration_unit": "months", * "notice_time_unit": "months", * "termination_time_unit": "months", * "renewal_duration_unit": "months", * "_schema": "price", * "_title": "Solar Panel Module", * "description": "Solar Panel Module", * "active": true, * "pricing_model": "per_unit", * "is_composite_price": false, * "tax": { * "$relation": [ * { * "entity_id": "24641e82-0690-4135-8b43-ef12a9b1c5dc" * } * ] * }, * "_org": "728", * "_created_at": "2022-06-03T16:04:10.369Z", * "_updated_at": "2022-06-03T16:04:10.369Z" * }, * "_product": { * "_id": "a7f4771a-6368-4d77-bb01-71f1e4902de5", * "type": "product", * "_schema": "product", * "_title": "Solar Panel with Battery Storage", * "name": "Solar Panel with Battery Storage", * "code": "SOLAR-BATT", * "active": true, * "description": "Solar Panel with battery solution, optimized for max efficiency. ", * "feature": [ * { * "_tags": [], * "feature": "Eco-Panels" * }, * { * "_tags": [], * "feature": "Remote Management Platform" * }, * { * "_tags": [], * "feature": "Battery Remote Control" * }, * { * "_tags": [], * "feature": "Mobile App" * } * ], * "cross_sellable_products": { * "$relation": [ * { * "entity_id": "068d0713-a650-4668-9ed2-eca7be31e337", * "_schema": "product", * "_tags": [] * }, * { * "entity_id": "c8402ee7-fba9-4f3d-bffd-6803ca655782", * "_tags": [] * } * ] * }, * "product_images": { * "$relation": [ * { * "entity_id": "37bdeaaa-65fe-403e-9894-65b01cd277f1" * }, * { * "entity_id": "56dde657-795c-41bb-bf53-98fd586b7e6e" * } * ] * }, * "product_downloads": { * "$relation": [ * { * "entity_id": "64211361-8759-414b-81c0-afbf24f83aa9" * } * ] * }, * "_org": "728", * "_created_at": "2022-06-03T15:52:27.512Z", * "_updated_at": "2022-06-03T16:05:15.029Z", * "price_options": { * "$relation": [ * { * "entity_id": "9c36c23b-1574-4193-beff-b1b5e1124bc7", * "_tags": [] * }, * { * "entity_id": "146aa2cc-f267-4d5e-bda4-cbe2669b7741", * "_tags": [] * } * ] * } * }, * "quantity": 16, * "currency": "EUR", * "description": "Solar Panel Module", * "unit_amount": 100000, * "unit_amount_net": 84034, * "amount_subtotal": 1344538, * "amount_total": 1600000 * }, * { * "price_id": "146aa2cc-f267-4d5e-bda4-cbe2669b7741", * "product_id": "a7f4771a-6368-4d77-bb01-71f1e4902de5", * "pricing_model": "per_unit", * "is_composite_price": false, * "taxes": [ * { * "tax": { * "_id": "24641e82-0690-4135-8b43-ef12a9b1c5dc", * "rate": 19, * "_schema": "tax", * "_org": "728", * "_created_at": "2021-09-24T15:06:13.859Z", * "_updated_at": "2022-04-04T17:36:15.273Z", * "_title": "Tax Standard", * "type": "VAT", * "active": true, * "region": "DE", * "description": "Standard" * }, * "amount": 31933 * } * ], * "_price": { * "_id": "146aa2cc-f267-4d5e-bda4-cbe2669b7741", * "unit_amount": 50000, * "unit_amount_currency": "EUR", * "unit_amount_decimal": "500", * "sales_tax": "standard", * "is_tax_inclusive": true, * "price_display_in_journeys": "show_price", * "type": "one_time", * "billing_period": "weekly", * "billing_duration_unit": "months", * "notice_time_unit": "months", * "termination_time_unit": "months", * "renewal_duration_unit": "months", * "_schema": "price", * "_title": "Battery Module 500amps", * "description": "Battery Module 500amps", * "active": true, * "pricing_model": "per_unit", * "is_composite_price": false, * "tax": { * "$relation": [ * { * "entity_id": "24641e82-0690-4135-8b43-ef12a9b1c5dc" * } * ] * }, * "_org": "728", * "_created_at": "2022-06-03T16:05:04.391Z", * "_updated_at": "2022-06-03T16:05:04.391Z" * }, * "_product": { * "_id": "a7f4771a-6368-4d77-bb01-71f1e4902de5", * "type": "product", * "_schema": "product", * "_title": "Solar Panel with Battery Storage", * "name": "Solar Panel with Battery Storage", * "code": "SOLAR-BATT", * "active": true, * "description": "Solar Panel with battery solution, optimized for max efficiency. ", * "feature": [ * { * "_tags": [], * "feature": "Eco-Panels" * }, * { * "_tags": [], * "feature": "Remote Management Platform" * }, * { * "_tags": [], * "feature": "Battery Remote Control" * }, * { * "_tags": [], * "feature": "Mobile App" * } * ], * "cross_sellable_products": { * "$relation": [ * { * "entity_id": "068d0713-a650-4668-9ed2-eca7be31e337", * "_schema": "product", * "_tags": [] * }, * { * "entity_id": "c8402ee7-fba9-4f3d-bffd-6803ca655782", * "_tags": [] * } * ] * }, * "product_images": { * "$relation": [ * { * "entity_id": "37bdeaaa-65fe-403e-9894-65b01cd277f1" * }, * { * "entity_id": "56dde657-795c-41bb-bf53-98fd586b7e6e" * } * ] * }, * "product_downloads": { * "$relation": [ * { * "entity_id": "64211361-8759-414b-81c0-afbf24f83aa9" * } * ] * }, * "_org": "728", * "_created_at": "2022-06-03T15:52:27.512Z", * "_updated_at": "2022-06-03T16:05:15.029Z", * "price_options": { * "$relation": [ * { * "entity_id": "9c36c23b-1574-4193-beff-b1b5e1124bc7", * "_tags": [] * }, * { * "entity_id": "146aa2cc-f267-4d5e-bda4-cbe2669b7741", * "_tags": [] * } * ] * } * }, * "quantity": 4, * "currency": "EUR", * "description": "Battery Module 500amps", * "unit_amount": 50000, * "unit_amount_net": 42017, * "amount_subtotal": 168067, * "amount_total": 200000 * }, * { * "price_id": "d88a8763-3e3d-4fc7-a7a5-2bc9117148bf", * "product_id": "065d6618-cc59-45f4-8e3a-700edf6813c3", * "pricing_model": "per_unit", * "is_composite_price": false, * "_price": { * "_id": "d88a8763-3e3d-4fc7-a7a5-2bc9117148bf", * "unit_amount": 12055, * "type": "recurring", * "billing_period": "monthly", * "billing_duration_amount": 8, * "billing_duration_unit": "years", * "notice_time_amount": 3, * "notice_time_unit": "months", * "termination_time_amount": 2, * "termination_time_unit": "months", * "renewal_duration_amount": 1, * "renewal_duration_unit": "years", * "active": true, * "sales_tax": "reduced", * "is_tax_inclusive": true, * "description": "Monthly", * "billing_scheme": "per_unit", * "_schema": "price", * "_org": "728", * "_created_at": "2021-11-10T14:40:27.695Z", * "_updated_at": "2021-12-14T18:16:33.248Z", * "_title": "Monthly", * "unit_amount_currency": "EUR", * "unit_amount_decimal": "120.55456634", * "pricing_model": "per_unit", * "is_composite_price": false * }, * "_product": { * "_id": "065d6618-cc59-45f4-8e3a-700edf6813c3", * "name": "Smartmeter: Schneider Electric PM5000 LCD Energiemessgerät / 3-phasig", * "code": "1312378123", * "_tags": [ * "wallbox", * "review demo", * "1" * ], * "categories": [ * "Power" * ], * "type": "product", * "active": true, * "feature": [ * { * "_tags": [], * "feature": "Bis zu 11 kW Ladeleistung (5x schneller laden)" * }, * { * "_tags": [], * "feature": "Integrierter MID Zähler für eine kilowattstundengenaue Abrechnung*" * }, * { * "_tags": [], * "feature": "Konfigurierbare Ladeleistung" * }, * { * "_tags": [], * "feature": "Zugangskontrolle über RFID-Karten" * }, * { * "_tags": [], * "feature": "Kommunikation über LAN" * }, * { * "_tags": [], * "feature": "New feature" * } * ], * "_schema": "product", * "_org": "728", * "_created_at": "2021-11-30T11:05:19.484Z", * "_updated_at": "2022-01-13T09:18:29.944Z", * "_title": "Smartmeter: Schneider Electric PM5000 LCD Energiemessgerät / 3-phasig", * "price_options": { * "$relation": [ * { * "entity_id": "5264b089-fc6a-4a91-9a2a-80c673958faa" * }, * { * "entity_id": "d88a8763-3e3d-4fc7-a7a5-2bc9117148bf" * } * ] * }, * "product_images": { * "$relation": [ * { * "entity_id": "16729e60-c527-44ef-93c9-c68b6acf1224" * } * ] * } * }, * "quantity": 1, * "currency": "EUR", * "description": "Monthly", * "unit_amount": 12055, * "unit_amount_net": 11267, * "amount_subtotal": 11267, * "amount_total": 12055, * "taxes": [ * { * "rate": "reduced", * "amount": 789 * } * ] * }, * { * "price_id": "e1ddf75a-d0d1-40b4-a07e-56e292867c88", * "product_id": "5b9f05b7-f0f8-49c2-8a8d-0f8f923d6382", * "pricing_model": "per_unit", * "is_composite_price": false, * "_price": { * "_id": "e1ddf75a-d0d1-40b4-a07e-56e292867c88", * "unit_amount": 9900, * "unit_amount_currency": "EUR", * "unit_amount_decimal": "99", * "sales_tax": "standard", * "is_tax_inclusive": true, * "price_display_in_journeys": "show_price", * "type": "recurring", * "billing_period": "yearly", * "billing_duration_unit": "months", * "notice_time_unit": "months", * "termination_time_unit": "months", * "renewal_duration_unit": "months", * "_schema": "price", * "_title": "Yearly payment", * "description": "Yearly payment", * "active": true, * "pricing_model": "per_unit", * "is_composite_price": false, * "_org": "728", * "_created_at": "2022-02-07T22:58:39.884Z", * "_updated_at": "2022-02-07T22:58:39.884Z" * }, * "_product": { * "_id": "5b9f05b7-f0f8-49c2-8a8d-0f8f923d6382", * "_schema": "product", * "_title": "Yearly Payment Product", * "name": "Yearly Payment Product", * "type": "product", * "active": true, * "price_options": { * "$relation": [ * { * "entity_id": "e1ddf75a-d0d1-40b4-a07e-56e292867c88", * "_tags": [] * } * ] * }, * "_org": "728", * "_created_at": "2022-02-07T22:58:44.162Z", * "_updated_at": "2022-02-08T09:34:08.026Z", * "description": "Hier steht die Produktbeschreibung die sich auf dem Dokument, was generiert wird, gezogen wird." * }, * "quantity": 1, * "currency": "EUR", * "description": "Yearly payment", * "unit_amount": 9900, * "unit_amount_net": 8319, * "amount_subtotal": 8319, * "amount_total": 9900, * "taxes": [ * { * "rate": "standard", * "amount": 1581 * } * ] * } * ], * "amount_subtotal": 1532191, * "amount_total": 1821955, * "total_details": { * "amount_tax": 289764, * "breakdown": { * "taxes": [ * { * "tax": { * "_id": "24641e82-0690-4135-8b43-ef12a9b1c5dc", * "rate": 19, * "_schema": "tax", * "_org": "728", * "_created_at": "2021-09-24T15:06:13.859Z", * "_updated_at": "2022-04-04T17:36:15.273Z", * "_title": "Tax Standard", * "type": "VAT", * "active": true, * "region": "DE", * "description": "Standard" * }, * "amount": 287395 * } * ], * "recurrences": [ * { * "type": "one_time", * "amount_subtotal": 1512605, * "amount_subtotal_decimal": "15126.05", * "amount_total": 1800000, * "amount_total_decimal": "18000.00", * "amount_tax": 287395, * "amount_tax_decimal": "2873.95" * }, * { * "type": "recurring", * "billing_period": "monthly", * "amount_subtotal": 11267, * "amount_subtotal_decimal": "112.67", * "amount_total": 12055, * "amount_total_decimal": "120.55", * "amount_tax": 789, * "amount_tax_decimal": "7.89" * }, * { * "type": "recurring", * "billing_period": "yearly", * "amount_subtotal": 8319, * "amount_subtotal_decimal": "83.19", * "amount_total": 9900, * "amount_total_decimal": "99.00", * "amount_tax": 1581, * "amount_tax_decimal": "15.81" * } * ] * } * }, * "currency": "EUR", * "payment_method": [ * { * "type": "IBAN", * "details": {} * } * ], * "billing_contact": { * "$relation": [ * { * "entity_id": "1834a54e-b68f-4f7f-a98a-fe16f11bc2a5", * "_tags": [] * } * ] * }, * "billing_first_name": "Joao", * "billing_last_name": "Pinho", * "billing_email": "j.pinho@epilot.cloud", * "billing_company_name": "epilot cloud", * "billing_address": [ * { * "_tags": [], * "street": "Im Media Park", * "street_number": "8a", * "postal_code": "52000", * "city": "Cologne", * "country": "DE", * "additional_info": "" * } * ], * "delivery_address": [], * "dates": [ * { * "_tags": [ * "Instalation Date" * ], * "dates": "", * "value": "2022-06-30T16:29:00.000Z" * } * ], * "_id": "4c7c9562-f8f0-4af0-a3a6-6aebc5571a6e", * "_org": "728", * "_created_at": "2022-06-03T16:29:46.303Z", * "_updated_at": "2022-06-03T16:29:46.303Z" * } */ Order; } /** * The checkout mode for the cart checkout. */ export type CheckoutMode = "create_order" | "create_invoice" | "create_quote"; /** * The composite price entity * example: * { * "_id": "c2a95ca9-7a50-41a4-a73c-b5fb1a57d40f", * "_schema": "price", * "_title": "My Composite Price", * "description": "My Composite Price", * "_org": "739224", * "_created_at": "2022-02-18T10:10:26.439Z", * "_updated_at": "2022-02-18T11:53:04.191Z", * "active": true, * "is_composite_price": true, * "price_components": { * "$relation": [ * { * "entity_id": "comp1-2a95ca9-7a50-41a4-a73c-b5fb1a57d40f", * "_schema": "price", * "_product_id": "target-price-product-id", * "quantity": 1, * "item": { * "_id": "comp1-2a95ca9-7a50-41a4-a73c-b5fb1a57d40f", * "unit_amount": 10000, * "unit_amount_currency": "EUR", * "unit_amount_decimal": "100.00", * "sales_tax": "standard", * "is_tax_inclusive": false, * "price_display_in_journeys": "show_price", * "type": "one_time", * "_schema": "price", * "_title": "Test 1", * "description": "Test 1", * "tax": { * "$relation": [ * { * "entity_id": "18bbbc2e-2c37-4f91-924a-07ae60d830e4" * } * ] * }, * "_org": "739224", * "_created_at": "2022-02-18T10:10:26.439Z", * "_updated_at": "2022-02-18T11:53:04.191Z", * "active": true, * "billing_period": "weekly", * "billing_duration_unit": "months", * "notice_time_unit": "months", * "termination_time_unit": "months", * "renewal_duration_unit": "months", * "is_composite_price": false * } * }, * { * "entity_id": "comp2-2a95ca9-7a50-41a4-a73c-b5fb1a57d40f", * "_schema": "price", * "_product_id": "target-price-product-id", * "quantity": 2, * "item": { * "_id": "comp2-2a95ca9-7a50-41a4-a73c-b5fb1a57d40f", * "unit_amount": 10000, * "unit_amount_currency": "EUR", * "unit_amount_decimal": "100.00", * "sales_tax": "standard", * "is_tax_inclusive": false, * "price_display_in_journeys": "show_price", * "type": "one_time", * "_schema": "price", * "_title": "Test 1", * "description": "Test 1", * "tax": { * "$relation": [ * { * "entity_id": "18bbbc2e-2c37-4f91-924a-07ae60d830e4" * } * ] * }, * "_org": "739224", * "_created_at": "2022-02-18T10:10:26.439Z", * "_updated_at": "2022-02-18T11:53:04.191Z", * "active": true, * "billing_period": "weekly", * "billing_duration_unit": "months", * "notice_time_unit": "months", * "termination_time_unit": "months", * "renewal_duration_unit": "months", * "is_composite_price": false * } * } * ] * } * } */ export type CompositePrice = /** * The composite price entity * example: * { * "_id": "c2a95ca9-7a50-41a4-a73c-b5fb1a57d40f", * "_schema": "price", * "_title": "My Composite Price", * "description": "My Composite Price", * "_org": "739224", * "_created_at": "2022-02-18T10:10:26.439Z", * "_updated_at": "2022-02-18T11:53:04.191Z", * "active": true, * "is_composite_price": true, * "price_components": { * "$relation": [ * { * "entity_id": "comp1-2a95ca9-7a50-41a4-a73c-b5fb1a57d40f", * "_schema": "price", * "_product_id": "target-price-product-id", * "quantity": 1, * "item": { * "_id": "comp1-2a95ca9-7a50-41a4-a73c-b5fb1a57d40f", * "unit_amount": 10000, * "unit_amount_currency": "EUR", * "unit_amount_decimal": "100.00", * "sales_tax": "standard", * "is_tax_inclusive": false, * "price_display_in_journeys": "show_price", * "type": "one_time", * "_schema": "price", * "_title": "Test 1", * "description": "Test 1", * "tax": { * "$relation": [ * { * "entity_id": "18bbbc2e-2c37-4f91-924a-07ae60d830e4" * } * ] * }, * "_org": "739224", * "_created_at": "2022-02-18T10:10:26.439Z", * "_updated_at": "2022-02-18T11:53:04.191Z", * "active": true, * "billing_period": "weekly", * "billing_duration_unit": "months", * "notice_time_unit": "months", * "termination_time_unit": "months", * "renewal_duration_unit": "months", * "is_composite_price": false * } * }, * { * "entity_id": "comp2-2a95ca9-7a50-41a4-a73c-b5fb1a57d40f", * "_schema": "price", * "_product_id": "target-price-product-id", * "quantity": 2, * "item": { * "_id": "comp2-2a95ca9-7a50-41a4-a73c-b5fb1a57d40f", * "unit_amount": 10000, * "unit_amount_currency": "EUR", * "unit_amount_decimal": "100.00", * "sales_tax": "standard", * "is_tax_inclusive": false, * "price_display_in_journeys": "show_price", * "type": "one_time", * "_schema": "price", * "_title": "Test 1", * "description": "Test 1", * "tax": { * "$relation": [ * { * "entity_id": "18bbbc2e-2c37-4f91-924a-07ae60d830e4" * } * ] * }, * "_org": "739224", * "_created_at": "2022-02-18T10:10:26.439Z", * "_updated_at": "2022-02-18T11:53:04.191Z", * "active": true, * "billing_period": "weekly", * "billing_duration_unit": "months", * "notice_time_unit": "months", * "termination_time_unit": "months", * "renewal_duration_unit": "months", * "is_composite_price": false * } * } * ] * } * } */ /** * The composite price entity * example: * { * "_id": "c2a95ca9-7a50-41a4-a73c-b5fb1a57d40f", * "_schema": "price", * "_title": "My Composite Price", * "description": "My Composite Price", * "_org": "739224", * "_created_at": "2022-02-18T10:10:26.439Z", * "_updated_at": "2022-02-18T11:53:04.191Z", * "active": true, * "is_composite_price": true, * "price_components": { * "$relation": [ * { * "entity_id": "comp1-2a95ca9-7a50-41a4-a73c-b5fb1a57d40f", * "_schema": "price", * "_product_id": "target-price-product-id", * "quantity": 1, * "item": { * "_id": "comp1-2a95ca9-7a50-41a4-a73c-b5fb1a57d40f", * "unit_amount": 10000, * "unit_amount_currency": "EUR", * "unit_amount_decimal": "100.00", * "sales_tax": "standard", * "is_tax_inclusive": false, * "price_display_in_journeys": "show_price", * "type": "one_time", * "_schema": "price", * "_title": "Test 1", * "description": "Test 1", * "tax": { * "$relation": [ * { * "entity_id": "18bbbc2e-2c37-4f91-924a-07ae60d830e4" * } * ] * }, * "_org": "739224", * "_created_at": "2022-02-18T10:10:26.439Z", * "_updated_at": "2022-02-18T11:53:04.191Z", * "active": true, * "billing_period": "weekly", * "billing_duration_unit": "months", * "notice_time_unit": "months", * "termination_time_unit": "months", * "renewal_duration_unit": "months", * "is_composite_price": false * } * }, * { * "entity_id": "comp2-2a95ca9-7a50-41a4-a73c-b5fb1a57d40f", * "_schema": "price", * "_product_id": "target-price-product-id", * "quantity": 2, * "item": { * "_id": "comp2-2a95ca9-7a50-41a4-a73c-b5fb1a57d40f", * "unit_amount": 10000, * "unit_amount_currency": "EUR", * "unit_amount_decimal": "100.00", * "sales_tax": "standard", * "is_tax_inclusive": false, * "price_display_in_journeys": "show_price", * "type": "one_time", * "_schema": "price", * "_title": "Test 1", * "description": "Test 1", * "tax": { * "$relation": [ * { * "entity_id": "18bbbc2e-2c37-4f91-924a-07ae60d830e4" * } * ] * }, * "_org": "739224", * "_created_at": "2022-02-18T10:10:26.439Z", * "_updated_at": "2022-02-18T11:53:04.191Z", * "active": true, * "billing_period": "weekly", * "billing_duration_unit": "months", * "notice_time_unit": "months", * "termination_time_unit": "months", * "renewal_duration_unit": "months", * "is_composite_price": false * } * } * ] * } * } */ NonHydratedCompositePrice | /** * The composite price entity * example: * { * "_id": "c2a95ca9-7a50-41a4-a73c-b5fb1a57d40f", * "_schema": "price", * "_title": "My Composite Price", * "description": "My Composite Price", * "_org": "739224", * "_created_at": "2022-02-18T10:10:26.439Z", * "_updated_at": "2022-02-18T11:53:04.191Z", * "active": true, * "is_composite_price": true, * "price_components": { * "$relation": [ * { * "entity_id": "comp1-2a95ca9-7a50-41a4-a73c-b5fb1a57d40f", * "_schema": "price", * "_product_id": "target-price-product-id", * "quantity": 1, * "item": { * "_id": "comp1-2a95ca9-7a50-41a4-a73c-b5fb1a57d40f", * "unit_amount": 10000, * "unit_amount_currency": "EUR", * "unit_amount_decimal": "100.00", * "sales_tax": "standard", * "is_tax_inclusive": false, * "price_display_in_journeys": "show_price", * "type": "one_time", * "_schema": "price", * "_title": "Test 1", * "description": "Test 1", * "tax": { * "$relation": [ * { * "entity_id": "18bbbc2e-2c37-4f91-924a-07ae60d830e4" * } * ] * }, * "_org": "739224", * "_created_at": "2022-02-18T10:10:26.439Z", * "_updated_at": "2022-02-18T11:53:04.191Z", * "active": true, * "billing_period": "weekly", * "billing_duration_unit": "months", * "notice_time_unit": "months", * "termination_time_unit": "months", * "renewal_duration_unit": "months", * "is_composite_price": false * } * }, * { * "entity_id": "comp2-2a95ca9-7a50-41a4-a73c-b5fb1a57d40f", * "_schema": "price", * "_product_id": "target-price-product-id", * "quantity": 2, * "item": { * "_id": "comp2-2a95ca9-7a50-41a4-a73c-b5fb1a57d40f", * "unit_amount": 10000, * "unit_amount_currency": "EUR", * "unit_amount_decimal": "100.00", * "sales_tax": "standard", * "is_tax_inclusive": false, * "price_display_in_journeys": "show_price", * "type": "one_time", * "_schema": "price", * "_title": "Test 1", * "description": "Test 1", * "tax": { * "$relation": [ * { * "entity_id": "18bbbc2e-2c37-4f91-924a-07ae60d830e4" * } * ] * }, * "_org": "739224", * "_created_at": "2022-02-18T10:10:26.439Z", * "_updated_at": "2022-02-18T11:53:04.191Z", * "active": true, * "billing_period": "weekly", * "billing_duration_unit": "months", * "notice_time_unit": "months", * "termination_time_unit": "months", * "renewal_duration_unit": "months", * "is_composite_price": false * } * } * ] * } * } */ HydratedCompositePrice; /** * Represents a composite price input to the pricing library. * example: * { * "amount_subtotal": 10000, * "amount_total": 10600, * "currency": "EUR", * "description": "Annual internet service", * "price_id": "7e24ff5d-d580-4136-a32f-19191eed039a", * "product_id": "6241487f-b7fd-428b-ab92-24ee0b37fd84", * "taxes": [ * { * "amount": 600, * "tax": { * "active": true, * "description": "Without Behaviour", * "rate": 6, * "region": "DE", * "type": "VAT", * "_created_at": "2022-02-07T14:49:08.831Z", * "_id": "18bbbc2e-2c37-4f91-924a-07ae60d830e4", * "_org": "739224", * "_schema": "tax", * "_title": "Tax Without Behaviour", * "_updated_at": "2022-02-07T14:49:08.831Z" * } * } * ], * "unit_amount": 10000, * "unit_amount_net": 10000, * "pricing_model": "per_unit", * "_price": { * "unit_amount": 10000, * "unit_amount_currency": "EUR", * "unit_amount_decimal": "100.00", * "sales_tax": "standard", * "is_tax_inclusive": false, * "price_display_in_journeys": "show_price", * "type": "one_time", * "billing_period": "weekly", * "billing_duration_unit": "months", * "notice_time_unit": "months", * "termination_time_unit": "months", * "renewal_duration_unit": "months", * "_schema": "price", * "_title": "Solar Panel Module", * "description": "Solar Panel Module", * "active": true, * "tax": { * "$relation": [ * { * "entity_id": "24641e82-0690-4135-8b43-ef12a9b1c5dc" * } * ] * }, * "_id": "7e24ff5d-d580-4136-a32f-19191eed039a", * "_org": "728", * "_created_at": "2022-06-03T16:04:10.369Z", * "_updated_at": "2022-06-03T16:04:10.369Z", * "pricing_model": "per_unit" * }, * "_product": { * "name": "Cool box", * "type": "product", * "_id": "73f857a4-0fbc-4aa6-983f-87c0d6d410a6", * "_title": "Cool box" * } * } */ export interface CompositePriceItem { /** * Total of all items before (discounts or) taxes are applied. */ amount_subtotal?: number; /** * Total of all items before (discounts or) taxes are applied, as a string with all the decimal places. */ amount_subtotal_decimal?: string; /** * Total of all items after (discounts and) taxes are applied. */ amount_total?: number; /** * Total of all items after (discounts and) taxes are applied, as a string with all the decimal places. */ amount_total_decimal?: string; /** * The cashback amount. */ cashback_amount?: number; /** * The cashback amount as a string with all the decimal places. */ cashback_amount_decimal?: string; cashback_period?: /* The cashback period, for now it's limited to either 0 months or 12 months */ CashbackPeriod; /** * Total amount after cashback is applied. */ after_cashback_amount_total?: number; /** * Total amount after cashback is applied as a string with all the decimal places. */ after_cashback_amount_total_decimal?: string; /** * The discount amount. */ discount_amount?: number; /** * The discount amount as a string with all the decimal places. */ discount_amount_decimal?: string; /** * The discount percentage, if the applied coupon had a percentage type. */ discount_percentage?: number; /** * Total amount before discount is applied. */ before_discount_amount_total?: number; /** * Total amount before discount is applied as a string with all the decimal places. */ before_discount_amount_total_decimal?: string; /** * Total amount before discount is applied, excluding taxes. */ before_discount_amount_subtotal?: number; /** * Total amount before discount is applied, excluding taxes, as a string with all the decimal places. */ before_discount_amount_subtotal_decimal?: string; metadata?: /* A set of key-value pairs used to store meta data information about an entity. */ MetaData; /** * The quantity of products being purchased. */ quantity?: number; /** * The id of the product. */ product_id?: string; /** * The id of the price. */ price_id?: string; /** * An arbitrary string attached to the price item. Often useful for displaying to users. Defaults to product name. */ description?: string; /** * The description for the product. */ product_description?: string; /** * The name for the product. */ product_name?: string; price_mappings?: /** * example: * [ * { * "price_id": "589B011B-F8D9-4F8E-AD71-BACE4B543C0F", * "frequency_unit": "weekly", * "value": 1000.245, * "name": "avg consumption", * "metadata": { * "journey_title": "energy journey", * "step_name": "avg consumption picker" * } * } * ] */ PriceInputMappings; /** * Specifies whether the price is considered `inclusive` of taxes or not. */ is_tax_inclusive?: boolean; /** * The snapshot of the product. * example: * { * "type": "product", * "_schema": "product", * "_title": "Solar Panel with Battery Storage", * "name": "Solar Panel with Battery Storage", * "code": "SOLAR-BATT", * "active": true, * "description": "Solar Panel with battery solution, optimized for max efficiency. ", * "feature": [ * { * "_tags": [], * "feature": "Eco-Panels" * }, * { * "_tags": [], * "feature": "Remote Management Platform" * }, * { * "_tags": [], * "feature": "Battery Remote Control" * }, * { * "_tags": [], * "feature": "Mobile App" * } * ], * "cross_sellable_products": { * "$relation": [ * { * "entity_id": "068d0713-a650-4668-9ed2-eca7be31e337", * "_schema": "product", * "_tags": [] * }, * { * "entity_id": "c8402ee7-fba9-4f3d-bffd-6803ca655782", * "_tags": [] * } * ] * }, * "product_images": { * "$relation": [ * { * "entity_id": "37bdeaaa-65fe-403e-9894-65b01cd277f1" * }, * { * "entity_id": "56dde657-795c-41bb-bf53-98fd586b7e6e" * } * ] * }, * "product_downloads": { * "$relation": [ * { * "entity_id": "64211361-8759-414b-81c0-afbf24f83aa9" * } * ] * }, * "_id": "a7f4771a-6368-4d77-bb01-71f1e4902de5", * "_org": "728", * "_created_at": "2022-06-03T15: 52: 27.512Z", * "_updated_at": "2022-06-03T16: 05: 15.029Z", * "price_options": { * "$relation": [ * { * "entity_id": "9c36c23b-1574-4193-beff-b1b5e1124bc7", * "_tags": [] * }, * { * "entity_id": "146aa2cc-f267-4d5e-bda4-cbe2669b7741", * "_tags": [] * } * ] * } * } */ _product?: { [name: string]: any; /** * The description for the product */ description?: string; /** * The product code */ code?: string; /** * The type of Product: * * | type | description | * |----| ----| * | `product` | Represents a physical good | * | `service` | Represents a service or virtual product | * */ type?: "product" | "service"; /** * The product main name */ name?: string; /** * The product categories */ categories?: string[]; feature?: { /** * An arbitrary set of tags attached to a feature */ _tags?: string[]; feature?: string; }[]; /** * Stores references to products that can be cross sold with the current product. */ cross_sellable_products?: { $relation?: EntityRelation[]; }; /** * Stores references to a set of file images of the product */ product_images?: /* Stores references to a set of file images of the product */ { $relation?: EntityRelation[]; } | File[]; /** * Stores references to a set of files downloadable from the product. * e.g: tech specifications, quality control sheets, privacy policy agreements * */ product_downloads?: /** * Stores references to a set of files downloadable from the product. * e.g: tech specifications, quality control sheets, privacy policy agreements * */ { $relation?: EntityRelation[]; } | File[]; /** * A set of [prices](/api/pricing#tag/simple_price_schema) or [composite prices](/api/pricing#tag/dynamic_price_schema) for the current product. */ price_options?: { $relation?: EntityRelation[]; }; /** * Stores references to the availability files that define where this product is available. * These files are used when interacting with products via epilot Journeys, thought the AvailabilityCheck block. * */ _availability_files?: File[]; /** * The product id */ _id?: string; /** * The autogenerated product title */ _title?: string; /** * The organization id the product belongs to */ _org_id?: string; /** * The product creation date */ _created_at?: string; /** * The product last update date */ _updated_at?: string; }; /** * price item id */ _id?: string; /** * The unit amount value */ unit_amount?: number; /** * The unit amount in eur to be charged, represented as a decimal string with at most 12 decimal places. */ unit_amount_decimal?: string; /** * The unit amount before any discount is applied */ before_discount_unit_amount?: number; /** * The unit amount before any discount is applied, represented as a decimal string with at most 12 decimal places. */ before_discount_unit_amount_decimal?: string; /** * The unit gross amount before any discount is applied */ before_discount_unit_amount_gross?: number; /** * The unit gross amount before any discount is applied, represented as a decimal string with at most 12 decimal places. */ before_discount_unit_amount_gross_decimal?: string; /** * The unit net amount before any discount is applied */ before_discount_unit_amount_net?: number; /** * The unit net amount before any discount is applied, represented as a decimal string with at most 12 decimal places. */ before_discount_unit_amount_net_decimal?: string; /** * The discount amount applied for each unit */ unit_discount_amount?: number; /** * The discount amount applied for each unit represented as a decimal string */ unit_discount_amount_decimal?: string; /** * The unit gross amount value. */ unit_amount_gross?: number; /** * The unit gross amount value. */ unit_amount_gross_decimal?: string; /** * Net unit amount without taxes or discounts. */ unit_amount_net?: number; /** * Net unit amount without taxes or discounts. */ unit_amount_net_decimal?: string; /** * The net discount amount applied for each unit */ unit_discount_amount_net?: number; /** * The net discount amount applied for each unit represented as a decimal string */ unit_discount_amount_net_decimal?: string; /** * The discount amount applied to the tax */ tax_discount_amount?: number; /** * The discount amount applied to the tax represented as a decimal string */ tax_discount_amount_decimal?: string; /** * The net discount amount applied */ discount_amount_net?: number; /** * The net discount amount applied represented as a decimal string */ discount_amount_net_decimal?: string; /** * Total tax amount for this line item. */ amount_tax?: number; /** * The tax amount before any discount is applied */ before_discount_tax_amount?: number; /** * The tax amount before any discount is applied represented as a decimal string */ before_discount_tax_amount_decimal?: string; currency?: /** * Three-letter ISO currency code, in lowercase. Must be a supported currency. * ISO 4217 CURRENCY CODES as specified in the documentation: https://www.iso.org/iso-4217-currency-codes.html * * example: * EUR */ Currency; /** * The taxes applied to the price item. */ taxes?: (/* A tax amount associated with a specific tax rate. */ TaxAmount)[]; /** * The sum of amounts of the price items by recurrence. */ recurrences?: (/* An amount associated with a specific recurrence. */ RecurrenceAmount)[]; /** * The coupons applicable to the composite price item + related (cashback) amounts */ _coupons?: ({ [name: string]: any; _id: EntityId /* uuid */; /** * The auto-generated title for the title */ _title: string; /** * Organization Id the entity belongs to */ _org: string; /** * The schema of the entity, for coupons it is always `coupon` */ _schema: "coupon"; _tags?: string[]; /** * The creation date for the opportunity */ _created_at: string; // date-time /** * The date the coupon was last updated */ _updated_at: string; // date-time name: string | null; description?: string | null; type: "fixed" | "percentage"; category: "discount" | "cashback"; /** * Use if type is set to percentage. The percentage to be discounted, represented as a whole integer. */ percentage_value?: string | null; /** * Use if type is set to fixed. The fixed amount in cents to be discounted, represented as a whole integer. */ fixed_value?: number; /** * Use if type is set to fixed. The unit amount in eur to be discounted, represented as a decimal string with at most 12 decimal places. */ fixed_value_decimal?: string; /** * Use if type is set to fixed. Three-letter ISO currency code, in lowercase. */ fixed_value_currency?: /* Use if type is set to fixed. Three-letter ISO currency code, in lowercase. */ /** * Three-letter ISO currency code, in lowercase. Must be a supported currency. * ISO 4217 CURRENCY CODES as specified in the documentation: https://www.iso.org/iso-4217-currency-codes.html * * example: * EUR */ Currency; cashback_period?: /* The cashback period, for now it's limited to either 0 months or 12 months */ CashbackPeriod; active?: boolean; /** * Whether the coupon requires a promo code to be applied */ requires_promo_code?: boolean; /** * The cashback amount. */ cashback_amount?: number; /** * The cashback amount as a string with all the decimal places. */ cashback_amount_decimal?: string; /** * Total amount after cashback is applied. */ after_cashback_amount_total?: number; /** * Total amount after cashback is applied as a string with all the decimal places. */ after_cashback_amount_total_decimal?: string; } & /* The shared properties for the coupon entity and coupon item entity */ (/* The shared properties for the coupon entity and coupon item entity */ CouponItem))[]; /** * When set to true on a `_price` displayed as OnRequest (`show_as_on_request: 'on_request'`) this flag means the price has been approved and can now be displayed to the customer. This flag is only valid for prices shown as 'on_request'. */ on_request_approved?: boolean; /** * The flag for prices that contain price components. */ is_composite_price: true; /** * Contains price item configurations, per price component, when the main price item is a [composite price](/api/pricing#tag/dynamic_price_schema). */ item_components?: /** * Represents a price item * example: * { * "amount_subtotal": 10000, * "amount_total": 10600, * "currency": "EUR", * "description": "Annual internet service", * "price_id": "7e24ff5d-d580-4136-a32f-19191eed039a", * "product_id": "6241487f-b7fd-428b-ab92-24ee0b37fd84", * "taxes": [ * { * "amount": 600, * "tax": { * "active": true, * "description": "Without Behaviour", * "rate": 6, * "region": "DE", * "type": "VAT", * "_created_at": "2022-02-07T14:49:08.831Z", * "_id": "18bbbc2e-2c37-4f91-924a-07ae60d830e4", * "_org": "739224", * "_schema": "tax", * "_title": "Tax Without Behaviour", * "_updated_at": "2022-02-07T14:49:08.831Z" * } * }, * { * "amount": 600, * "tax": { * "active": true, * "description": "Without Behaviour", * "rate": 6, * "region": "DE", * "type": "VAT", * "_created_at": "2022-02-07T14:49:08.831Z", * "_id": "18bbbc2e-2c37-4f91-924a-07ae60d830e4", * "_org": "739224", * "_schema": "tax", * "_title": "Tax Without Behaviour", * "_updated_at": "2022-02-07T14:49:08.831Z" * } * } * ], * "unit_amount": 10000, * "unit_amount_net": 10000, * "pricing_model": "per_unit", * "_price": { * "unit_amount": 10000, * "unit_amount_currency": "EUR", * "unit_amount_decimal": "100.00", * "sales_tax": "standard", * "is_tax_inclusive": false, * "price_display_in_journeys": "show_price", * "type": "one_time", * "billing_period": "weekly", * "billing_duration_unit": "months", * "notice_time_unit": "months", * "termination_time_unit": "months", * "renewal_duration_unit": "months", * "_schema": "price", * "_title": "Solar Panel Module", * "description": "Solar Panel Module", * "active": true, * "tax": { * "$relation": [ * { * "entity_id": "24641e82-0690-4135-8b43-ef12a9b1c5dc" * }, * { * "entity_id": "24641e82-0690-4135-8b43-ef12a9b1c5dc" * } * ] * }, * "_id": "7e24ff5d-d580-4136-a32f-19191eed039a", * "_org": "728", * "_created_at": "2022-06-03T16:04:10.369Z", * "_updated_at": "2022-06-03T16:04:10.369Z", * "pricing_model": "per_unit" * }, * "_product": { * "name": "Cool box", * "type": "product", * "_id": "73f857a4-0fbc-4aa6-983f-87c0d6d410a6", * "_title": "Cool box" * } * } */ PriceItem[]; total_details?: /* The total details with tax (and discount) aggregated totals. */ TotalDetails; /** * The price snapshot data. */ _price?: /* The price snapshot data. */ /** * The composite price entity * example: * { * "_id": "c2a95ca9-7a50-41a4-a73c-b5fb1a57d40f", * "_schema": "price", * "_title": "My Composite Price", * "description": "My Composite Price", * "_org": "739224", * "_created_at": "2022-02-18T10:10:26.439Z", * "_updated_at": "2022-02-18T11:53:04.191Z", * "active": true, * "is_composite_price": true, * "price_components": { * "$relation": [ * { * "entity_id": "comp1-2a95ca9-7a50-41a4-a73c-b5fb1a57d40f", * "_schema": "price", * "_product_id": "target-price-product-id", * "quantity": 1, * "item": { * "_id": "comp1-2a95ca9-7a50-41a4-a73c-b5fb1a57d40f", * "unit_amount": 10000, * "unit_amount_currency": "EUR", * "unit_amount_decimal": "100.00", * "sales_tax": "standard", * "is_tax_inclusive": false, * "price_display_in_journeys": "show_price", * "type": "one_time", * "_schema": "price", * "_title": "Test 1", * "description": "Test 1", * "tax": { * "$relation": [ * { * "entity_id": "18bbbc2e-2c37-4f91-924a-07ae60d830e4" * } * ] * }, * "_org": "739224", * "_created_at": "2022-02-18T10:10:26.439Z", * "_updated_at": "2022-02-18T11:53:04.191Z", * "active": true, * "billing_period": "weekly", * "billing_duration_unit": "months", * "notice_time_unit": "months", * "termination_time_unit": "months", * "renewal_duration_unit": "months", * "is_composite_price": false * } * }, * { * "entity_id": "comp2-2a95ca9-7a50-41a4-a73c-b5fb1a57d40f", * "_schema": "price", * "_product_id": "target-price-product-id", * "quantity": 2, * "item": { * "_id": "comp2-2a95ca9-7a50-41a4-a73c-b5fb1a57d40f", * "unit_amount": 10000, * "unit_amount_currency": "EUR", * "unit_amount_decimal": "100.00", * "sales_tax": "standard", * "is_tax_inclusive": false, * "price_display_in_journeys": "show_price", * "type": "one_time", * "_schema": "price", * "_title": "Test 1", * "description": "Test 1", * "tax": { * "$relation": [ * { * "entity_id": "18bbbc2e-2c37-4f91-924a-07ae60d830e4" * } * ] * }, * "_org": "739224", * "_created_at": "2022-02-18T10:10:26.439Z", * "_updated_at": "2022-02-18T11:53:04.191Z", * "active": true, * "billing_period": "weekly", * "billing_duration_unit": "months", * "notice_time_unit": "months", * "termination_time_unit": "months", * "renewal_duration_unit": "months", * "is_composite_price": false * } * } * ] * } * } */ CompositePrice; } /** * Represents a composite price input to the pricing library. */ export interface CompositePriceItemDto { metadata?: /* A set of key-value pairs used to store meta data information about an entity. */ MetaData; /** * The quantity of products being purchased. */ quantity?: number; /** * The id of the product. */ product_id?: string; /** * The id of the price. */ price_id?: string; /** * An arbitrary string attached to the price item. Often useful for displaying to users. Defaults to product name. */ description?: string; /** * The description for the product. */ product_description?: string; /** * The name for the product. */ product_name?: string; price_mappings?: /** * example: * [ * { * "price_id": "589B011B-F8D9-4F8E-AD71-BACE4B543C0F", * "frequency_unit": "weekly", * "value": 1000.245, * "name": "avg consumption", * "metadata": { * "journey_title": "energy journey", * "step_name": "avg consumption picker" * } * } * ] */ PriceInputMappings; /** * Specifies whether the price is considered `inclusive` of taxes or not. */ is_tax_inclusive?: boolean; /** * The snapshot of the product. * example: * { * "type": "product", * "_schema": "product", * "_title": "Solar Panel with Battery Storage", * "name": "Solar Panel with Battery Storage", * "code": "SOLAR-BATT", * "active": true, * "description": "Solar Panel with battery solution, optimized for max efficiency. ", * "feature": [ * { * "_tags": [], * "feature": "Eco-Panels" * }, * { * "_tags": [], * "feature": "Remote Management Platform" * }, * { * "_tags": [], * "feature": "Battery Remote Control" * }, * { * "_tags": [], * "feature": "Mobile App" * } * ], * "cross_sellable_products": { * "$relation": [ * { * "entity_id": "068d0713-a650-4668-9ed2-eca7be31e337", * "_schema": "product", * "_tags": [] * }, * { * "entity_id": "c8402ee7-fba9-4f3d-bffd-6803ca655782", * "_tags": [] * } * ] * }, * "product_images": { * "$relation": [ * { * "entity_id": "37bdeaaa-65fe-403e-9894-65b01cd277f1" * }, * { * "entity_id": "56dde657-795c-41bb-bf53-98fd586b7e6e" * } * ] * }, * "product_downloads": { * "$relation": [ * { * "entity_id": "64211361-8759-414b-81c0-afbf24f83aa9" * } * ] * }, * "_id": "a7f4771a-6368-4d77-bb01-71f1e4902de5", * "_org": "728", * "_created_at": "2022-06-03T15: 52: 27.512Z", * "_updated_at": "2022-06-03T16: 05: 15.029Z", * "price_options": { * "$relation": [ * { * "entity_id": "9c36c23b-1574-4193-beff-b1b5e1124bc7", * "_tags": [] * }, * { * "entity_id": "146aa2cc-f267-4d5e-bda4-cbe2669b7741", * "_tags": [] * } * ] * } * } */ _product?: { [name: string]: any; /** * The description for the product */ description?: string; /** * The product code */ code?: string; /** * The type of Product: * * | type | description | * |----| ----| * | `product` | Represents a physical good | * | `service` | Represents a service or virtual product | * */ type?: "product" | "service"; /** * The product main name */ name?: string; /** * The product categories */ categories?: string[]; feature?: { /** * An arbitrary set of tags attached to a feature */ _tags?: string[]; feature?: string; }[]; /** * Stores references to products that can be cross sold with the current product. */ cross_sellable_products?: { $relation?: EntityRelation[]; }; /** * Stores references to a set of file images of the product */ product_images?: /* Stores references to a set of file images of the product */ { $relation?: EntityRelation[]; } | File[]; /** * Stores references to a set of files downloadable from the product. * e.g: tech specifications, quality control sheets, privacy policy agreements * */ product_downloads?: /** * Stores references to a set of files downloadable from the product. * e.g: tech specifications, quality control sheets, privacy policy agreements * */ { $relation?: EntityRelation[]; } | File[]; /** * A set of [prices](/api/pricing#tag/simple_price_schema) or [composite prices](/api/pricing#tag/dynamic_price_schema) for the current product. */ price_options?: { $relation?: EntityRelation[]; }; /** * Stores references to the availability files that define where this product is available. * These files are used when interacting with products via epilot Journeys, thought the AvailabilityCheck block. * */ _availability_files?: File[]; /** * The product id */ _id?: string; /** * The autogenerated product title */ _title?: string; /** * The organization id the product belongs to */ _org_id?: string; /** * The product creation date */ _created_at?: string; /** * The product last update date */ _updated_at?: string; }; external_fees_mappings?: /** * example: * [ * { * "price_id": "589B011B-F8D9-4F8E-AD71-BACE4B543C0F", * "frequency_unit": "weekly", * "amount_total": 1000, * "amount_total_decimal": "10.00" * } * ] */ ExternalFeeMappings; external_fees_metadata?: ExternalFeeMetadata; external_location_metadata?: /* The provider entity */ ExternalLocationMetadata; external_price_metadata?: ExternalPriceMetadata; _immutable_pricing_details?: /* The result from the calculation of a set of price items. */ PricingDetails; /** * The ids of the coupons applicable to the price item */ coupon_ids?: string[]; /** * The taxes applied to the price item. */ taxes?: (/* A valid tax rate from a client. */ TaxAmountDto)[]; /** * The taxes applied to the price item. */ recurrences?: (/* An amount associated with a specific recurrence. */ RecurrenceAmountDto)[]; /** * The coupons applicable to the price item */ _coupons?: (/* The shared properties for the coupon entity and coupon item entity */ CouponItem)[]; /** * The flag for prices that contain price components. */ is_composite_price: true; /** * Contains price item configurations, per price component, when the main price item is a [composite price](/api/pricing#tag/dynamic_price_schema). */ item_components?: /* Represents a price input to the pricing library. */ PriceItemDto[]; /** * The ids of the price components that should be selected for the price calculation. */ selected_price_component_ids?: string[]; /** * The map of coupon ids applicable to the price components */ price_component_coupon_ids?: { [name: string]: string[]; }; _price?: /** * The composite price entity * example: * { * "_id": "c2a95ca9-7a50-41a4-a73c-b5fb1a57d40f", * "_schema": "price", * "_title": "My Composite Price", * "description": "My Composite Price", * "_org": "739224", * "_created_at": "2022-02-18T10:10:26.439Z", * "_updated_at": "2022-02-18T11:53:04.191Z", * "active": true, * "is_composite_price": true, * "price_components": { * "$relation": [ * { * "entity_id": "comp1-2a95ca9-7a50-41a4-a73c-b5fb1a57d40f", * "_schema": "price", * "_product_id": "target-price-product-id", * "quantity": 1, * "item": { * "_id": "comp1-2a95ca9-7a50-41a4-a73c-b5fb1a57d40f", * "unit_amount": 10000, * "unit_amount_currency": "EUR", * "unit_amount_decimal": "100.00", * "sales_tax": "standard", * "is_tax_inclusive": false, * "price_display_in_journeys": "show_price", * "type": "one_time", * "_schema": "price", * "_title": "Test 1", * "description": "Test 1", * "tax": { * "$relation": [ * { * "entity_id": "18bbbc2e-2c37-4f91-924a-07ae60d830e4" * } * ] * }, * "_org": "739224", * "_created_at": "2022-02-18T10:10:26.439Z", * "_updated_at": "2022-02-18T11:53:04.191Z", * "active": true, * "billing_period": "weekly", * "billing_duration_unit": "months", * "notice_time_unit": "months", * "termination_time_unit": "months", * "renewal_duration_unit": "months", * "is_composite_price": false * } * }, * { * "entity_id": "comp2-2a95ca9-7a50-41a4-a73c-b5fb1a57d40f", * "_schema": "price", * "_product_id": "target-price-product-id", * "quantity": 2, * "item": { * "_id": "comp2-2a95ca9-7a50-41a4-a73c-b5fb1a57d40f", * "unit_amount": 10000, * "unit_amount_currency": "EUR", * "unit_amount_decimal": "100.00", * "sales_tax": "standard", * "is_tax_inclusive": false, * "price_display_in_journeys": "show_price", * "type": "one_time", * "_schema": "price", * "_title": "Test 1", * "description": "Test 1", * "tax": { * "$relation": [ * { * "entity_id": "18bbbc2e-2c37-4f91-924a-07ae60d830e4" * } * ] * }, * "_org": "739224", * "_created_at": "2022-02-18T10:10:26.439Z", * "_updated_at": "2022-02-18T11:53:04.191Z", * "active": true, * "billing_period": "weekly", * "billing_duration_unit": "months", * "notice_time_unit": "months", * "termination_time_unit": "months", * "renewal_duration_unit": "months", * "is_composite_price": false * } * } * ] * } * } */ CompositePrice; } /** * The compute price payload */ export type ComputePriceParams = /* The compute price payload */ /* The compute price payload for power */ ComputePriceParamsPower | /* The compute price payload for gas */ ComputePriceParamsGas; export interface ComputePriceParamsBase { /** * The postal code to search for providers */ postal_code: string; /** * The consumption type */ consumption_type?: "household" | "heating_pump" | "night_storage_heating" | "night_storage_heating_common_meter"; /** * (DEPRECATED - use consumption_HT) The yearly consumption to compute the price in kWh */ consumption?: number; /** * The yearly HT consumption to compute the price in kWh */ consumption_HT?: number; /** * The yearly NT consumption to compute the price in kWh */ consumption_NT?: number; /** * The association id */ association_id?: string; /** * The billing period (defaults to monthly) */ billing_period?: "weekly" | "monthly" | "every_quarter" | "every_6_months" | "yearly" | "one_time"; /** * The optional reference date for the price computation (ISO 8601 format) */ reference_date?: string; // date } /** * The compute price payload for gas */ export interface ComputePriceParamsGas { /** * The postal code to search for providers */ postal_code: string; /** * The consumption type */ consumption_type?: "household" | "heating_pump" | "night_storage_heating" | "night_storage_heating_common_meter"; /** * (DEPRECATED - use consumption_HT) The yearly consumption to compute the price in kWh */ consumption?: number; /** * The yearly HT consumption to compute the price in kWh */ consumption_HT?: number; /** * The yearly NT consumption to compute the price in kWh */ consumption_NT?: number; /** * The association id */ association_id?: string; /** * The billing period (defaults to monthly) */ billing_period?: "weekly" | "monthly" | "every_quarter" | "every_6_months" | "yearly" | "one_time"; /** * The optional reference date for the price computation (ISO 8601 format) */ reference_date?: string; // date /** * The type of energy to compute the price */ type: "gas"; concession_type?: /* The concession type for gas */ GasConcessionType; } /** * The compute price payload for power */ export interface ComputePriceParamsPower { /** * The postal code to search for providers */ postal_code: string; /** * The consumption type */ consumption_type?: "household" | "heating_pump" | "night_storage_heating" | "night_storage_heating_common_meter"; /** * (DEPRECATED - use consumption_HT) The yearly consumption to compute the price in kWh */ consumption?: number; /** * The yearly HT consumption to compute the price in kWh */ consumption_HT?: number; /** * The yearly NT consumption to compute the price in kWh */ consumption_NT?: number; /** * The association id */ association_id?: string; /** * The billing period (defaults to monthly) */ billing_period?: "weekly" | "monthly" | "every_quarter" | "every_6_months" | "yearly" | "one_time"; /** * The optional reference date for the price computation (ISO 8601 format) */ reference_date?: string; // date /** * The type of energy to compute the price */ type: "power"; meter_type?: /* The meter type for power */ PowerMeterType; } export interface ComputePriceResult { /** * The computed total price */ amount_total: number; /** * The computed total price as decimal */ amount_total_decimal: string; /** * The computed static price */ amount_static?: number; /** * The computed static price as decimal */ amount_static_decimal?: any; /** * The computed variable price, for the day period */ amount_variable_ht?: number; /** * The computed variable price, for the day period, as decimal */ amount_variable_decimal_ht?: string; /** * The computed unit price, for the day period */ unit_amount_variable_ht?: number; /** * The computed unit price, for the day period, as decimal */ unit_amount_variable_decimal_ht?: string; /** * The computed variable price, for the night period */ amount_variable_nt?: number; /** * The computed variable price, for the night period, as decimal */ amount_variable_decimal_nt?: string; /** * The computed unit price, for the night period */ unit_amount_variable_nt?: number; /** * The computed unit price, for the night period, as decimal */ unit_amount_variable_decimal_nt?: string; /** * The currency of the computed price (three-letter ISO currency code) */ currency: /* The currency of the computed price (three-letter ISO currency code) */ /** * Three-letter ISO currency code, in lowercase. Must be a supported currency. * ISO 4217 CURRENCY CODES as specified in the documentation: https://www.iso.org/iso-4217-currency-codes.html * * example: * EUR */ Currency; /** * The billing period */ billing_period: "weekly" | "monthly" | "every_quarter" | "every_6_months" | "yearly" | "one_time"; breakdown: /* Price breakdown */ ComputedPriceBreakdown; _meta?: /* Signature meta data payload */ SignatureMeta; } /** * The computed price */ export interface ComputedBasePrice { /** * The computed price */ amount: number; /** * The computed price as decimal */ amount_decimal: string; /** * The computed unit price */ unit_amount?: number; /** * The computed unit price as decimal */ unit_amount_decimal?: string; } /** * Price breakdown */ export interface ComputedPriceBreakdown { static?: /* The computed price components */ ComputedPriceComponents; variable?: /* The computed price components */ ComputedPriceComponents; variable_ht?: /* The computed price components */ ComputedPriceComponents; variable_nt?: /* The computed price components */ ComputedPriceComponents; } /** * The computed price components */ export interface ComputedPriceComponents { [name: string]: /* The computed price */ ComputedBasePrice; } export type ConsumptionTypeGetAg = "household" | "heating_pump" | "night_storage_heating" | "night_storage_heating_common_meter"; /** * The coupon entity * example: * { * "_id": "123e4567-e89b-12d3-a456-426614174000", * "_schema": "coupon", * "_org": "org_12345", * "_created_at": "2024-01-15T10:00:00.000Z", * "_updated_at": "2024-01-20T12:00:00.000Z", * "_title": "Sample Coupon", * "name": "Sample Coupon", * "type": "fixed", * "fixed_value": 555, * "fixed_value_currency": "USD", * "fixed_value_decimal": "5.55", * "active": true, * "category": "cashback", * "prices": { * "$relation": [ * { * "entity_id": "abc12345-def6-7890-gh12-ijklmnopqrst", * "_tags": [ * "discount", * "special" * ], * "_schema": "price" * } * ] * } * } */ export interface Coupon { [name: string]: any; _id: EntityId /* uuid */; /** * The auto-generated title for the title */ _title: string; /** * Organization Id the entity belongs to */ _org: string; /** * The schema of the entity, for coupons it is always `coupon` */ _schema: "coupon"; _tags?: string[]; /** * The creation date for the opportunity */ _created_at: string; // date-time /** * The date the coupon was last updated */ _updated_at: string; // date-time name: string | null; description?: string | null; type: "fixed" | "percentage"; category: "discount" | "cashback"; /** * Use if type is set to percentage. The percentage to be discounted, represented as a whole integer. */ percentage_value?: string | null; /** * Use if type is set to fixed. The fixed amount in cents to be discounted, represented as a whole integer. */ fixed_value?: number; /** * Use if type is set to fixed. The unit amount in eur to be discounted, represented as a decimal string with at most 12 decimal places. */ fixed_value_decimal?: string; /** * Use if type is set to fixed. Three-letter ISO currency code, in lowercase. */ fixed_value_currency?: /* Use if type is set to fixed. Three-letter ISO currency code, in lowercase. */ /** * Three-letter ISO currency code, in lowercase. Must be a supported currency. * ISO 4217 CURRENCY CODES as specified in the documentation: https://www.iso.org/iso-4217-currency-codes.html * * example: * EUR */ Currency; cashback_period?: /* The cashback period, for now it's limited to either 0 months or 12 months */ CashbackPeriod; active?: boolean; /** * Whether the coupon requires a promo code to be applied */ requires_promo_code?: boolean; /** * The prices associated with the coupon. Will hold price entities if hydrated, relations otherwise. */ prices?: /* The prices associated with the coupon. Will hold price entities if hydrated, relations otherwise. */ { $relation?: EntityRelation[]; } | /** * The price entity schema for simple pricing * example: * { * "unit_amount": 100000, * "unit_amount_currency": "EUR", * "unit_amount_decimal": "1000", * "sales_tax": "standard", * "is_tax_inclusive": true, * "price_display_in_journeys": "show_price", * "type": "one_time", * "billing_period": "weekly", * "billing_duration_unit": "months", * "notice_time_unit": "months", * "termination_time_unit": "months", * "renewal_duration_unit": "months", * "_schema": "price", * "_title": "Solar Panel Module", * "description": "Solar Panel Module", * "active": true, * "_id": "9c36c23b-1574-4193-beff-b1b5e1124bc7", * "_org": "728", * "_created_at": "2022-06-03T16:04:10.369Z", * "_updated_at": "2022-06-03T16:04:10.369Z", * "pricing_model": "per_unit", * "is_composite_price": false * } */ Price[]; promo_codes?: /** * example: * { * "id": "123e4567-e89b-12d3-a456-426614174000", * "code": "123456", * "has_usage_limit": true, * "usage_limit": 10 * } */ PromoCode[]; /** * Map of ids of promo codes with their usage count */ promo_code_usage?: { [name: string]: number; }; } /** * The shared properties for the coupon entity and coupon item entity */ export interface CouponItem { [name: string]: any; _id: EntityId /* uuid */; /** * The auto-generated title for the title */ _title: string; /** * Organization Id the entity belongs to */ _org: string; /** * The schema of the entity, for coupons it is always `coupon` */ _schema: "coupon"; _tags?: string[]; /** * The creation date for the opportunity */ _created_at: string; // date-time /** * The date the coupon was last updated */ _updated_at: string; // date-time name: string | null; description?: string | null; type: "fixed" | "percentage"; category: "discount" | "cashback"; /** * Use if type is set to percentage. The percentage to be discounted, represented as a whole integer. */ percentage_value?: string | null; /** * Use if type is set to fixed. The fixed amount in cents to be discounted, represented as a whole integer. */ fixed_value?: number; /** * Use if type is set to fixed. The unit amount in eur to be discounted, represented as a decimal string with at most 12 decimal places. */ fixed_value_decimal?: string; /** * Use if type is set to fixed. Three-letter ISO currency code, in lowercase. */ fixed_value_currency?: /* Use if type is set to fixed. Three-letter ISO currency code, in lowercase. */ /** * Three-letter ISO currency code, in lowercase. Must be a supported currency. * ISO 4217 CURRENCY CODES as specified in the documentation: https://www.iso.org/iso-4217-currency-codes.html * * example: * EUR */ Currency; cashback_period?: /* The cashback period, for now it's limited to either 0 months or 12 months */ CashbackPeriod; active?: boolean; /** * Whether the coupon requires a promo code to be applied */ requires_promo_code?: boolean; } /** * The base for the coupon entity without promo codes * example: * { * "_id": "123e4567-e89b-12d3-a456-426614174000", * "_schema": "coupon", * "_org": "org_12345", * "_created_at": "2024-01-15T10:00:00.000Z", * "_updated_at": "2024-01-20T12:00:00.000Z", * "_title": "Sample Coupon", * "name": "Sample Coupon", * "type": "fixed", * "fixed_value": 555, * "fixed_value_currency": "USD", * "fixed_value_decimal": "5.55", * "active": true, * "category": "cashback", * "prices": { * "$relation": [ * { * "entity_id": "abc12345-def6-7890-gh12-ijklmnopqrst", * "_tags": [ * "discount", * "special" * ], * "_schema": "price" * } * ] * } * } */ export interface CouponWithoutPromoCodes { [name: string]: any; _id: EntityId /* uuid */; /** * The auto-generated title for the title */ _title: string; /** * Organization Id the entity belongs to */ _org: string; /** * The schema of the entity, for coupons it is always `coupon` */ _schema: "coupon"; _tags?: string[]; /** * The creation date for the opportunity */ _created_at: string; // date-time /** * The date the coupon was last updated */ _updated_at: string; // date-time name: string | null; description?: string | null; type: "fixed" | "percentage"; category: "discount" | "cashback"; /** * Use if type is set to percentage. The percentage to be discounted, represented as a whole integer. */ percentage_value?: string | null; /** * Use if type is set to fixed. The fixed amount in cents to be discounted, represented as a whole integer. */ fixed_value?: number; /** * Use if type is set to fixed. The unit amount in eur to be discounted, represented as a decimal string with at most 12 decimal places. */ fixed_value_decimal?: string; /** * Use if type is set to fixed. Three-letter ISO currency code, in lowercase. */ fixed_value_currency?: /* Use if type is set to fixed. Three-letter ISO currency code, in lowercase. */ /** * Three-letter ISO currency code, in lowercase. Must be a supported currency. * ISO 4217 CURRENCY CODES as specified in the documentation: https://www.iso.org/iso-4217-currency-codes.html * * example: * EUR */ Currency; cashback_period?: /* The cashback period, for now it's limited to either 0 months or 12 months */ CashbackPeriod; active?: boolean; /** * Whether the coupon requires a promo code to be applied */ requires_promo_code?: boolean; /** * The prices associated with the coupon. Will hold price entities if hydrated, relations otherwise. */ prices?: /* The prices associated with the coupon. Will hold price entities if hydrated, relations otherwise. */ { $relation?: EntityRelation[]; } | /** * The price entity schema for simple pricing * example: * { * "unit_amount": 100000, * "unit_amount_currency": "EUR", * "unit_amount_decimal": "1000", * "sales_tax": "standard", * "is_tax_inclusive": true, * "price_display_in_journeys": "show_price", * "type": "one_time", * "billing_period": "weekly", * "billing_duration_unit": "months", * "notice_time_unit": "months", * "termination_time_unit": "months", * "renewal_duration_unit": "months", * "_schema": "price", * "_title": "Solar Panel Module", * "description": "Solar Panel Module", * "active": true, * "_id": "9c36c23b-1574-4193-beff-b1b5e1124bc7", * "_org": "728", * "_created_at": "2022-06-03T16:04:10.369Z", * "_updated_at": "2022-06-03T16:04:10.369Z", * "pricing_model": "per_unit", * "is_composite_price": false * } */ Price[]; } /** * Three-letter ISO currency code, in lowercase. Must be a supported currency. * ISO 4217 CURRENCY CODES as specified in the documentation: https://www.iso.org/iso-4217-currency-codes.html * * example: * EUR */ export type Currency = string; /** * A custom context object. E.g. for Portal context. * example: * { * "custom_context_key": "custom_context_value" * } */ export interface CustomContext { [name: string]: any; } export interface Customer { first_name?: string; last_name?: string; company_name?: string; vat_id?: string; /** * A valid email identifying the customer. */ email?: string; phone?: string; } export interface DiscountAmounts { /** * The discount amount. */ discount_amount?: number; /** * The discount amount as a string with all the decimal places. */ discount_amount_decimal?: string; /** * The discount percentage, if the applied coupon had a percentage type. */ discount_percentage?: number; /** * Total amount before discount is applied. */ before_discount_amount_total?: number; /** * Total amount before discount is applied as a string with all the decimal places. */ before_discount_amount_total_decimal?: string; /** * Total amount before discount is applied, excluding taxes. */ before_discount_amount_subtotal?: number; /** * Total amount before discount is applied, excluding taxes, as a string with all the decimal places. */ before_discount_amount_subtotal_decimal?: string; } /** * The interval of the tariff if a spot market price is used as base. */ export type DynamicTariffInterval = "hourly" | "monthly_average"; /** * The mode of the dynamic tariff. `day_ahead_market` uses the Day-Ahead spot market price as base. */ export type DynamicTariffMode = "day_ahead_market" | "manual"; export type EntityId = string; // uuid /** * example: * { * "_id": "73f857a4-0fbc-4aa6-983f-87c0d6d410a6", * "_title": "Cool box", * "_org": "728", * "_schema": "order", * "_created_at": "2022-06-03T16:04:10.000Z", * "_updated_at": "2022-06-03T16:04:10.000Z", * "amount_subtotal": 10000, * "amount_total": 10600, * "currency": "EUR", * "description": "Annual internet service", * "price_id": "7e24ff5d-d580-4136-a32f-19191eed039a", * "product_id": "6241487f-b7fd-428b-ab92-24ee0b37fd84", * "taxes": [ * { * "amount": 600, * "tax": { * "active": true, * "description": "Without Behaviour", * "rate": 6, * "region": "DE", * "type": "VAT", * "_created_at": "2022-02-07T14:49:08.831Z", * "_id": "18bbbc2e-2c37-4f91-924a-07ae60d830e4", * "_org": "739224", * "_schema": "tax", * "_title": "Tax Without Behaviour", * "_updated_at": "2022-02-07T14:49:08.831Z" * } * } * ], * "unit_amount": 10000, * "unit_amount_net": 10000, * "pricing_model": "per_unit", * "_price": { * "_id": "7e24ff5d-d580-4136-a32f-19191eed039a", * "unit_amount": 10000, * "unit_amount_currency": "EUR", * "unit_amount_decimal": "100.00", * "sales_tax": "standard", * "is_tax_inclusive": false, * "price_display_in_journeys": "show_price", * "type": "one_time", * "billing_period": "weekly", * "billing_duration_unit": "months", * "notice_time_unit": "months", * "termination_time_unit": "months", * "renewal_duration_unit": "months", * "_schema": "price", * "_title": "Solar Panel Module", * "description": "Solar Panel Module", * "active": true, * "tax": { * "$relation": [ * { * "entity_id": "24641e82-0690-4135-8b43-ef12a9b1c5dc" * } * ] * }, * "_org": "728", * "_created_at": "2022-06-03T16:04:10.369Z", * "_updated_at": "2022-06-03T16:04:10.369Z", * "pricing_model": "per_unit" * }, * "_product": { * "name": "Cool box", * "type": "product", * "_id": "73f857a4-0fbc-4aa6-983f-87c0d6d410a6", * "_title": "Cool box" * } * } */ export interface EntityItem { _id: EntityId /* uuid */; /** * Title of entity */ _title: string; /** * Organization Id the entity belongs to */ _org: string; _schema: string; _tags?: string[]; _created_at: string; // date-time _updated_at: string; // date-time } export interface EntityRelation { [name: string]: any; entity_id?: string; _tags?: string[]; } export interface Error { /** * Error message */ message: string; /** * The HTTP status code */ status?: number; /** * The cause of the error (visible for bad requests - http 400) */ cause?: string; } /** * The request payload for the external catalog configuration service. * example: * { * "config": { * "appId": "1234567890", * "componentId": "1234567890", * "hookId": "1234567890" * } * } */ export interface ExternalCatalogConfigurationRequest { config?: { /** * The app id. * example: * 1234567890 */ appId: string; /** * The component id. * example: * 1234567890 */ componentId: string; /** * The hook id. If not provided, the first valid hook will be used. * example: * 1234567890 */ hookId?: string; }; } /** * The request payload for the external catalog service with a custom context. E.g. for requests from the Portal. */ export interface ExternalCatalogCustomRequest { /** * The origin of the request. * example: * custom */ origin: "custom"; context: /** * A custom context object. E.g. for Portal context. * example: * { * "custom_context_key": "custom_context_value" * } */ CustomContext; } /** * An external product & price information (already computed) from an external catalog. */ export interface ExternalCatalogItem { pricing_details: /* The result from the calculation of a set of price items. */ PricingDetails; _meta: /* Signature meta data payload */ SignatureMeta; } /** * The request payload for the external catalog service with a journey context. */ export interface ExternalCatalogJourneyRequest { /** * The origin of the request. * example: * journey */ origin: "journey"; context: JourneyContext; } /** * The request payload for the external catalog service with a portal context. */ export interface ExternalCatalogPortalRequest { /** * The origin of the request. * example: * portal */ origin: "portal"; context: PortalContext; } /** * The request payload for the external catalog service. * example: * { * "config": { * "appId": "1234567890", * "componentId": "1234567890", * "hookId": "1234567890" * }, * "origin": "journey", * "context": { * "journey_id": "8d0a2235-97ce-42d0-88a3-e374634ca44e", * "entity_id": "9e1b3346-a8df-53e1-99b4-f485745db55f", * "journey_name": "Product Selection Journey", * "journey_tags": [ * "electricity", * "residential" * ], * "journey_url_params": { * "utm_source": "google", * "utm_campaign": "spring2024" * }, * "current_step_name": "Product Selection", * "current_block_name": "Energy Products", * "steps_data": [ * { * "step_name": "Address Information", * "step_index": 0, * "blocks": { * "Adresse": { * "countryCode": "DE", * "city": "Koblenz", * "zipCode": "56068", * "streetName": "Am Alten Hospital", * "houseNumber": "123" * } * } * } * ] * } * } */ export type ExternalCatalogRequest = { config?: { /** * The app id. * example: * 1234567890 */ appId: string; /** * The component id. * example: * 1234567890 */ componentId: string; /** * The hook id. If not provided, the first valid hook will be used. * example: * 1234567890 */ hookId?: string; }; } & (/** * The request payload for the external catalog service. * example: * { * "config": { * "appId": "1234567890", * "componentId": "1234567890", * "hookId": "1234567890" * }, * "origin": "journey", * "context": { * "journey_id": "8d0a2235-97ce-42d0-88a3-e374634ca44e", * "entity_id": "9e1b3346-a8df-53e1-99b4-f485745db55f", * "journey_name": "Product Selection Journey", * "journey_tags": [ * "electricity", * "residential" * ], * "journey_url_params": { * "utm_source": "google", * "utm_campaign": "spring2024" * }, * "current_step_name": "Product Selection", * "current_block_name": "Energy Products", * "steps_data": [ * { * "step_name": "Address Information", * "step_index": 0, * "blocks": { * "Adresse": { * "countryCode": "DE", * "city": "Koblenz", * "zipCode": "56068", * "streetName": "Am Alten Hospital", * "houseNumber": "123" * } * } * } * ] * } * } */ /* The request payload for the external catalog service with a journey context. */ ExternalCatalogJourneyRequest | /* The request payload for the external catalog service with a portal context. */ ExternalCatalogPortalRequest | /* The request payload for the external catalog service with a custom context. E.g. for requests from the Portal. */ ExternalCatalogCustomRequest); /** * example: * { * "price_id": "589B011B-F8D9-4F8E-AD71-BACE4B543C0F", * "frequency_unit": "weekly", * "amount_total": 1000, * "amount_total_decimal": "10.00" * } */ export interface ExternalFeeMapping { price_id?: string; frequency_unit?: "weekly" | "monthly" | "every_quarter" | "every_6_months" | "yearly" | "one_time"; amount_total?: number; amount_total_decimal?: string; } /** * example: * [ * { * "price_id": "589B011B-F8D9-4F8E-AD71-BACE4B543C0F", * "frequency_unit": "weekly", * "amount_total": 1000, * "amount_total_decimal": "10.00" * } * ] */ export type ExternalFeeMappings = /** * example: * { * "price_id": "589B011B-F8D9-4F8E-AD71-BACE4B543C0F", * "frequency_unit": "weekly", * "amount_total": 1000, * "amount_total_decimal": "10.00" * } */ ExternalFeeMapping[]; export interface ExternalFeeMetadata { /** * The computed total price */ amount_total: number; /** * The computed total price as decimal */ amount_total_decimal: string; /** * The computed static price */ amount_static?: number; /** * The computed static price as decimal */ amount_static_decimal?: any; /** * The computed variable price, for the day period */ amount_variable_ht?: number; /** * The computed variable price, for the day period, as decimal */ amount_variable_decimal_ht?: string; /** * The computed unit price, for the day period */ unit_amount_variable_ht?: number; /** * The computed unit price, for the day period, as decimal */ unit_amount_variable_decimal_ht?: string; /** * The computed variable price, for the night period */ amount_variable_nt?: number; /** * The computed variable price, for the night period, as decimal */ amount_variable_decimal_nt?: string; /** * The computed unit price, for the night period */ unit_amount_variable_nt?: number; /** * The computed unit price, for the night period, as decimal */ unit_amount_variable_decimal_nt?: string; /** * The currency of the computed price (three-letter ISO currency code) */ currency: /* The currency of the computed price (three-letter ISO currency code) */ /** * Three-letter ISO currency code, in lowercase. Must be a supported currency. * ISO 4217 CURRENCY CODES as specified in the documentation: https://www.iso.org/iso-4217-currency-codes.html * * example: * EUR */ Currency; /** * The billing period */ billing_period: "weekly" | "monthly" | "every_quarter" | "every_6_months" | "yearly" | "one_time"; breakdown: /* Price breakdown */ ComputedPriceBreakdown; _meta?: /* Signature meta data payload */ SignatureMeta; inputs?: { [name: string]: any; }; } /** * The provider entity */ export interface ExternalLocationMetadata { /** * The provider name */ name: string; /** * The provider code */ code: string; /** * The type of product */ type: "gas" | "power"; additionalData: /* Additional data included in the provider entity */ AdditionalProviderData; _meta?: /* Signature meta data payload */ SignatureMeta; inputs?: { [name: string]: any; }; } export interface ExternalPriceMetadata { market: /* The market for a spot market price. */ SpotMarketType; bidding_zone: /* The bidding zone for a spot market price. */ SpotMarketBiddingZone; price: /* An average market price over a given period in time. */ AverageMarketPriceRecord; _meta?: /* Signature meta data payload */ SignatureMeta; inputs?: { [name: string]: any; }; } export interface File { [name: string]: any; _id: string; filename: string; mime_type: string; versions: { [name: string]: any; s3ref: { bucket: string; key: string; }; }[]; _schema: string; _org: string; _created_at: string; // date-time _updated_at: string; // date-time _title?: string; $relation?: EntityRelation; } /** * The concession type for gas */ export type GasConcessionType = "standard" | "special"; /** * Market area details for gas */ export interface GasMarketAreaDetails { /** * The type of gas used */ gasType?: "L-Gas" | "H-Gas"; /** * The name of the market area */ marketArea?: string; /** * The vritual trading point identifier */ virtualTradingPoint?: string; } /** * A market price at a given point in time. */ export interface HistoricMarketPriceRecord { /** * Cost in Cents, e.g. 12.3 for 12,3 Cents = 0.123€. * example: * 12.3 */ unit_amount: number; /** * Cost in decimal format, e.g. 0.123€. * example: * 0.123 */ unit_amount_decimal: string; unit_amount_currency: /** * Three-letter ISO currency code, in lowercase. Must be a supported currency. * ISO 4217 CURRENCY CODES as specified in the documentation: https://www.iso.org/iso-4217-currency-codes.html * * example: * EUR */ Currency; /** * ISO 8601 timestamp of the price record in UTC. */ timestamp: string; // date-time } export interface HistoricMarketPricesResult { market: /* The market for a spot market price. */ SpotMarketType; bidding_zone: /* The bidding zone for a spot market price. */ SpotMarketBiddingZone; prices: /* A market price at a given point in time. */ HistoricMarketPriceRecord[]; } /** * The composite price entity * example: * { * "_id": "c2a95ca9-7a50-41a4-a73c-b5fb1a57d40f", * "_schema": "price", * "_title": "My Composite Price", * "description": "My Composite Price", * "_org": "739224", * "_created_at": "2022-02-18T10:10:26.439Z", * "_updated_at": "2022-02-18T11:53:04.191Z", * "active": true, * "is_composite_price": true, * "price_components": { * "$relation": [ * { * "entity_id": "comp1-2a95ca9-7a50-41a4-a73c-b5fb1a57d40f", * "_schema": "price", * "_product_id": "target-price-product-id", * "quantity": 1, * "item": { * "_id": "comp1-2a95ca9-7a50-41a4-a73c-b5fb1a57d40f", * "unit_amount": 10000, * "unit_amount_currency": "EUR", * "unit_amount_decimal": "100.00", * "sales_tax": "standard", * "is_tax_inclusive": false, * "price_display_in_journeys": "show_price", * "type": "one_time", * "_schema": "price", * "_title": "Test 1", * "description": "Test 1", * "tax": { * "$relation": [ * { * "entity_id": "18bbbc2e-2c37-4f91-924a-07ae60d830e4" * } * ] * }, * "_org": "739224", * "_created_at": "2022-02-18T10:10:26.439Z", * "_updated_at": "2022-02-18T11:53:04.191Z", * "active": true, * "billing_period": "weekly", * "billing_duration_unit": "months", * "notice_time_unit": "months", * "termination_time_unit": "months", * "renewal_duration_unit": "months", * "is_composite_price": false * } * }, * { * "entity_id": "comp2-2a95ca9-7a50-41a4-a73c-b5fb1a57d40f", * "_schema": "price", * "_product_id": "target-price-product-id", * "quantity": 2, * "item": { * "_id": "comp2-2a95ca9-7a50-41a4-a73c-b5fb1a57d40f", * "unit_amount": 10000, * "unit_amount_currency": "EUR", * "unit_amount_decimal": "100.00", * "sales_tax": "standard", * "is_tax_inclusive": false, * "price_display_in_journeys": "show_price", * "type": "one_time", * "_schema": "price", * "_title": "Test 1", * "description": "Test 1", * "tax": { * "$relation": [ * { * "entity_id": "18bbbc2e-2c37-4f91-924a-07ae60d830e4" * } * ] * }, * "_org": "739224", * "_created_at": "2022-02-18T10:10:26.439Z", * "_updated_at": "2022-02-18T11:53:04.191Z", * "active": true, * "billing_period": "weekly", * "billing_duration_unit": "months", * "notice_time_unit": "months", * "termination_time_unit": "months", * "renewal_duration_unit": "months", * "is_composite_price": false * } * } * ] * } * } */ export interface HydratedCompositePrice { [name: string]: any; /** * The billing period duration */ billing_duration_amount?: number | null; /** * The billing period duration unit */ billing_duration_unit?: "days" | "weeks" | "months" | "years"; /** * The notice period duration */ notice_time_amount?: number | null; /** * The notice period duration unit */ notice_time_unit?: "days" | "weeks" | "months" | "years"; /** * The termination period duration */ termination_time_amount?: number | null; /** * The termination period duration unit */ termination_time_unit?: "days" | "weeks" | "months" | "years"; /** * The renewal period duration */ renewal_duration_amount?: number | null; /** * The renewal period duration unit */ renewal_duration_unit?: "days" | "weeks" | "months" | "years"; /** * Whether the price can be used for new purchases. */ active?: boolean; /** * A brief description of the price. */ description?: string; /** * A set of [price](/api/pricing#tag/simple_price_schema) components that define the composite price. */ price_components?: /* A set of [price](/api/pricing#tag/simple_price_schema) components that define the composite price. */ /** * The price entity schema for simple pricing * example: * { * "unit_amount": 100000, * "unit_amount_currency": "EUR", * "unit_amount_decimal": "1000", * "sales_tax": "standard", * "is_tax_inclusive": true, * "price_display_in_journeys": "show_price", * "type": "one_time", * "billing_period": "weekly", * "billing_duration_unit": "months", * "notice_time_unit": "months", * "termination_time_unit": "months", * "renewal_duration_unit": "months", * "_schema": "price", * "_title": "Solar Panel Module", * "description": "Solar Panel Module", * "active": true, * "_id": "9c36c23b-1574-4193-beff-b1b5e1124bc7", * "_org": "728", * "_created_at": "2022-06-03T16:04:10.369Z", * "_updated_at": "2022-06-03T16:04:10.369Z", * "pricing_model": "per_unit", * "is_composite_price": false * } */ Price[] | /** * The price entity schema for simple pricing * example: * { * "unit_amount": 100000, * "unit_amount_currency": "EUR", * "unit_amount_decimal": "1000", * "sales_tax": "standard", * "is_tax_inclusive": true, * "price_display_in_journeys": "show_price", * "type": "one_time", * "billing_period": "weekly", * "billing_duration_unit": "months", * "notice_time_unit": "months", * "termination_time_unit": "months", * "renewal_duration_unit": "months", * "_schema": "price", * "_title": "Solar Panel Module", * "description": "Solar Panel Module", * "active": true, * "_id": "9c36c23b-1574-4193-beff-b1b5e1124bc7", * "_org": "728", * "_created_at": "2022-06-03T16:04:10.369Z", * "_updated_at": "2022-06-03T16:04:10.369Z", * "pricing_model": "per_unit", * "is_composite_price": false * } */ Price[]; /** * Three-letter ISO currency code, in lowercase. */ unit_amount_currency?: /* Three-letter ISO currency code, in lowercase. */ /** * Three-letter ISO currency code, in lowercase. Must be a supported currency. * ISO 4217 CURRENCY CODES as specified in the documentation: https://www.iso.org/iso-4217-currency-codes.html * * example: * EUR */ Currency; /** * The flag for prices that contain price components. */ is_composite_price: true; /** * The price creation date */ _created_at?: string; /** * The price id */ _id?: string; /** * The price autogenerated title */ _title?: string; /** * The price last update date */ _updated_at?: string; /** * The organization id the price belongs to */ _org_id?: string; /** * An arbitrary set of tags attached to the composite price */ _tags?: string[]; } /** * The auth credentials for external integrations */ export type IntegrationAuthCredentials = /* The auth credentials for external integrations */ BasicAuthIntegration | OAuthIntegration; export type IntegrationCredentialsResult = /* The auth credentials for external integrations */ IntegrationAuthCredentials; export type IntegrationId = "getag" | "external-catalog"; export interface JourneyContext { /** * The ID of the journey. * example: * 8d0a2235-97ce-42d0-88a3-e374634ca44e */ journey_id: string; /** * The ID of the entity. * example: * 8d0a2235-97ce-42d0-88a3-e374634ca44e */ entity_id?: string; /** * The name of the journey. * example: * journey name */ journey_name: string; /** * The tags of the journey. */ journey_tags?: string[]; /** * The URL parameters of the journey. */ journey_url_params?: { [name: string]: any; }; /** * The name of the step where the products selection is happening. * example: * step name */ current_step_name: string; /** * The name of the block where the products selection is happening. * example: * block name */ current_block_name: string; /** * The steps of the journey. */ steps_data: { /** * The name of the step. */ step_name: string; /** * The index of the step. */ step_index: number; /** * The data of the blocks. * example: * { * "Adresse": { * "countryCode": "DE", * "city": "Koblenz", * "zipCode": "56068", * "streetName": "Am Alten Hospital", * "houseNumber": "123" * } * } */ blocks: { [name: string]: any; }; }[]; } /** * Market participant data */ export interface MarketParticipant { /** * The name of the participant */ name: string; /** * The BDEW/DVGW code number of the participant */ codeNumber: string; /** * The date from which this data is valid from */ validFrom?: string; // date /** * The date until which this data is valid to */ validUntil?: string; // date } /** * Describes how to compute the markup per period. Either `per_unit`, `tiered_volume` or `tiered_flatfee`. * - `per_unit` indicates that the fixed amount (specified in unit_amount or unit_amount_decimal) will be charged per unit in quantity * - `tiered_volume` indicates that the unit pricing will be computed using tiers attribute. The customer pays the same unitary price for all purchased units. * - `tiered_flatfee` While similar to tiered_volume, tiered flat fee charges for the same price (flat) for the entire range instead using the unit price to multiply the quantity. * */ export type MarkupPricingModel = "per_unit" | "tiered_volume" | "tiered_flatfee"; /** * A set of key-value pairs used to store meta data information about an entity. */ export type MetaData = ({ /** * Item key */ key?: string; /** * Item value */ value?: string; })[]; /** * The composite price entity * example: * { * "_id": "c2a95ca9-7a50-41a4-a73c-b5fb1a57d40f", * "_schema": "price", * "_title": "My Composite Price", * "description": "My Composite Price", * "_org": "739224", * "_created_at": "2022-02-18T10:10:26.439Z", * "_updated_at": "2022-02-18T11:53:04.191Z", * "active": true, * "is_composite_price": true, * "price_components": { * "$relation": [ * { * "entity_id": "comp1-2a95ca9-7a50-41a4-a73c-b5fb1a57d40f", * "_schema": "price", * "_product_id": "target-price-product-id", * "quantity": 1, * "item": { * "_id": "comp1-2a95ca9-7a50-41a4-a73c-b5fb1a57d40f", * "unit_amount": 10000, * "unit_amount_currency": "EUR", * "unit_amount_decimal": "100.00", * "sales_tax": "standard", * "is_tax_inclusive": false, * "price_display_in_journeys": "show_price", * "type": "one_time", * "_schema": "price", * "_title": "Test 1", * "description": "Test 1", * "tax": { * "$relation": [ * { * "entity_id": "18bbbc2e-2c37-4f91-924a-07ae60d830e4" * } * ] * }, * "_org": "739224", * "_created_at": "2022-02-18T10:10:26.439Z", * "_updated_at": "2022-02-18T11:53:04.191Z", * "active": true, * "billing_period": "weekly", * "billing_duration_unit": "months", * "notice_time_unit": "months", * "termination_time_unit": "months", * "renewal_duration_unit": "months", * "is_composite_price": false * } * }, * { * "entity_id": "comp2-2a95ca9-7a50-41a4-a73c-b5fb1a57d40f", * "_schema": "price", * "_product_id": "target-price-product-id", * "quantity": 2, * "item": { * "_id": "comp2-2a95ca9-7a50-41a4-a73c-b5fb1a57d40f", * "unit_amount": 10000, * "unit_amount_currency": "EUR", * "unit_amount_decimal": "100.00", * "sales_tax": "standard", * "is_tax_inclusive": false, * "price_display_in_journeys": "show_price", * "type": "one_time", * "_schema": "price", * "_title": "Test 1", * "description": "Test 1", * "tax": { * "$relation": [ * { * "entity_id": "18bbbc2e-2c37-4f91-924a-07ae60d830e4" * } * ] * }, * "_org": "739224", * "_created_at": "2022-02-18T10:10:26.439Z", * "_updated_at": "2022-02-18T11:53:04.191Z", * "active": true, * "billing_period": "weekly", * "billing_duration_unit": "months", * "notice_time_unit": "months", * "termination_time_unit": "months", * "renewal_duration_unit": "months", * "is_composite_price": false * } * } * ] * } * } */ export interface NonHydratedCompositePrice { [name: string]: any; /** * The billing period duration */ billing_duration_amount?: number | null; /** * The billing period duration unit */ billing_duration_unit?: "days" | "weeks" | "months" | "years"; /** * The notice period duration */ notice_time_amount?: number | null; /** * The notice period duration unit */ notice_time_unit?: "days" | "weeks" | "months" | "years"; /** * The termination period duration */ termination_time_amount?: number | null; /** * The termination period duration unit */ termination_time_unit?: "days" | "weeks" | "months" | "years"; /** * The renewal period duration */ renewal_duration_amount?: number | null; /** * The renewal period duration unit */ renewal_duration_unit?: "days" | "weeks" | "months" | "years"; /** * Whether the price can be used for new purchases. */ active?: boolean; /** * A brief description of the price. */ description?: string; /** * A set of [price](/api/pricing#tag/simple_price_schema) components that define the composite price. */ price_components?: /* A set of [price](/api/pricing#tag/simple_price_schema) components that define the composite price. */ { $relation?: PriceComponentRelation[]; } | { $relation?: PriceComponentRelation[]; }; /** * Three-letter ISO currency code, in lowercase. */ unit_amount_currency?: /* Three-letter ISO currency code, in lowercase. */ /** * Three-letter ISO currency code, in lowercase. Must be a supported currency. * ISO 4217 CURRENCY CODES as specified in the documentation: https://www.iso.org/iso-4217-currency-codes.html * * example: * EUR */ Currency; /** * The flag for prices that contain price components. */ is_composite_price: true; /** * The price creation date */ _created_at?: string; /** * The price id */ _id?: string; /** * The price autogenerated title */ _title?: string; /** * The price last update date */ _updated_at?: string; /** * The organization id the price belongs to */ _org_id?: string; /** * An arbitrary set of tags attached to the composite price */ _tags?: string[]; } export interface OAuthCredentials { /** * The OAuth client ID * example: * client_id_123 */ client_id: string; /** * The OAuth client secret * example: * client_secret_456 */ client_secret: string; /** * The URL to obtain OAuth tokens * example: * https://api.example.com/oauth/token */ authorization_url: string; /** * The OAuth grant type */ grant_type: "client_credentials"; /** * The OAuth scope * example: * read:user write:user */ scope?: string; /** * The OAuth access token * example: * access_token_789 */ access_token?: string; /** * The expiration time of the OAuth access token in seconds * example: * 3600 */ access_token_expires_in?: number; /** * The expiration time of the OAuth access token * example: * 1715731200 */ access_token_expires_at?: number; } export interface OAuthIntegration { auth_type: "oauth"; oauth: OAuthCredentials; /** * The base URL * example: * https://api.example.com */ base_url?: string; } export interface Offer { target_id?: string; items?: { price_id: string; product_id: string; highlight_config?: OfferHighlightConfig; }[]; } export interface OfferHighlightConfig { unique_selling_point?: string; unique_selling_point_icon?: string; total?: { enabled?: boolean; format?: "absolute" | "relative"; only_if_better?: boolean; }; } /** * The opportunity entity * example: * { * "opportunity_number": "OP 2022/335790", * "source": { * "title": "manual" * }, * "source_type": "manual", * "_schema": "opportunity", * "_title": "16 Module Solar Pack Lead", * "opportunity_title": "16 Module Solar Pack Lead", * "due_date": "2022-06-30T15:18:00.000Z", * "assignee": [ * { * "id": "10002563", * "email": "j.pinho@epilot.cloud", * "display_name": "j.pinho@epilot.cloud", * "token": "9e1758a3-2a32-4a5f-b034-a8ab883f8fb9", * "image_uri": "https://dummy-image.jpg", * "organization_id": "728", * "department": "Engineering", * "preferred_language": "en", * "status": "Active", * "phone": "+49123456789", * "email_notification_setting": { * "added_participant_opportunity": true, * "assigned_opportunity": true, * "assigned_task": true, * "comment_opportunity": true, * "deleted_task": true, * "escalated_task": true, * "message_receive_opportunity": true, * "message_send_opportunity": true, * "created_task": true, * "created_opportunity_manual": true, * "created_opportunity_auto": true, * "deleted_opportunity": true * }, * "is_signature_enabled": true, * "created_at": "2021-05-18T06:30:25.36046" * } * ], * "description": "Lead generated automatically via journey automation.", * "customer": { * "$relation": [ * { * "entity_id": "69bf4355-9c1e-498a-b87e-6c873668194d", * "_tags": [] * }, * { * "entity_id": "8625e2e4-978e-4d16-b3d2-0d05fb4091f0", * "_tags": [] * } * ] * }, * "dates": [ * { * "_tags": [ * "Installation Date" * ], * "dates": "", * "value": "2022-06-30T15:21:00.000Z" * } * ], * "items": { * "$relation": [ * { * "entity_id": "ff5fcdaf-9e36-4292-97f0-6a4e3f82a8f3" * }, * { * "entity_id": "ec10b7cf-95ce-4f6b-a266-c566c7734b96" * }, * { * "entity_id": "c3745dfe-4a46-4c22-8bf3-6159303474e4" * } * ] * }, * "billing_address": { * "$relation_ref": [ * { * "entity_id": "69bf4355-9c1e-498a-b87e-6c873668194d", * "path": "address.2" * } * ] * }, * "delivery_address": { * "$relation_ref": [ * { * "entity_id": "69bf4355-9c1e-498a-b87e-6c873668194d", * "path": "address.24" * } * ] * }, * "address": { * "$relation_ref": [ * { * "entity_id": "69bf4355-9c1e-498a-b87e-6c873668194d", * "path": "address.25" * } * ] * }, * "_id": "319a274b-0477-45e3-9d58-1f46c82d4604", * "_org": "728", * "_created_at": "2022-06-03T15:26:14.006Z", * "_updated_at": "2022-06-03T15:26:14.006Z" * } */ export interface Opportunity { [name: string]: any; /** * The opportunity id number for the customer (autogenerated if left blank) */ opportunity_number?: string; /** * The opportunity title for the opportunity */ opportunity_title?: string; /** * A description to frame this opportunity within its sales process */ description?: string; /** * The opportunity status (defined by the opportunity workflow) */ status?: string; /** * The expiration date */ due_date?: string; /** * The opportunity assignees */ assignee?: { id?: string; email?: string; display_name?: string; token?: string; image_uri?: string; organization_id?: string; department?: string; preferred_language?: string; status?: string; phone?: string; email_notification_settings?: { [key: string]: any; }; is_signature_enabled?: boolean; created_at?: string; }[]; /** * A list of customers related with the opportunity */ customer?: { $relation?: EntityRelation[]; }; /** * A set of dates associated with the opportunity */ dates?: ({ /** * The date tags */ _tags?: string[]; /** * The date value */ value?: string; })[]; /** * The billing address */ billing_address?: { /** * The relation from which a field is being referenced */ $relation_ref?: ({ /** * The id of the referenced entity */ entity_id?: string; /** * The path to the target attribute being referenced */ path?: string; })[]; }; /** * The delivery address */ delivery_address?: { /** * The relation from which a field is being referenced */ $relation_ref?: ({ /** * The id of the referenced entity */ entity_id?: string; /** * The path to the target attribute being referenced */ path?: string; })[]; }; /** * A list of additional addresses */ address?: { /** * The relation from which a field is being referenced */ $relation_ref?: ({ /** * The id of the referenced entity */ entity_id?: string; /** * The path to the target attribute being referenced */ path?: string; })[]; }; /** * The order relations items, representing quotes or orders associated with the opportunity */ items?: { $relation?: /* An order relation reference */ OrderRelation[]; }; /** * Organization Id the order belongs to */ _org_id?: string; /** * The opportunity id */ _id?: string; /** * The opportunity creation date */ _created_at?: string; /** * The opportunity last update date */ _updated_at?: string; /** * Type of source, e.g. journey or manual * example: * journey */ source_type?: string; /** * Identifier for source e.g. journey ID * example: * ce99875f-fba9-4fe2-a8f9-afaf52059051 */ source_id?: string; source?: /* The opportunity generation source */ OpportunitySource; /** * An arbitrary set of tags attached to the opportunity */ _tags?: string[]; } /** * The opportunity generation source */ export interface OpportunitySource { /** * Link path for the source * example: * /app/v2/journey-builder/editor/db7f6940-994b-11ec-a46d-9f1824ff2939 */ http?: string; /** * Title for the source * example: * Journey: PH Journey */ title?: string; } /** * The order entity * example: * { * "order_number": "OR 2022/742701", * "status": "quote", * "source": { * "title": "manual", * "href": null * }, * "source_type": "manual", * "_schema": "order", * "_title": "OR 2022/742701", * "expires_at": "2022-06-30T16:17:00.000Z", * "line_items": [ * { * "price_id": "9c36c23b-1574-4193-beff-b1b5e1124bc7", * "product_id": "a7f4771a-6368-4d77-bb01-71f1e4902de5", * "pricing_model": "per_unit", * "is_composite_price": false, * "taxes": [ * { * "tax": { * "_id": "24641e82-0690-4135-8b43-ef12a9b1c5dc", * "rate": 19, * "_schema": "tax", * "_org": "728", * "_created_at": "2021-09-24T15:06:13.859Z", * "_updated_at": "2022-04-04T17:36:15.273Z", * "_title": "Tax Standard", * "type": "VAT", * "active": true, * "region": "DE", * "description": "Standard" * }, * "amount": 255462 * } * ], * "_price": { * "_id": "9c36c23b-1574-4193-beff-b1b5e1124bc7", * "unit_amount": 100000, * "unit_amount_currency": "EUR", * "unit_amount_decimal": "1000", * "sales_tax": "standard", * "is_tax_inclusive": true, * "price_display_in_journeys": "show_price", * "type": "one_time", * "billing_period": "weekly", * "billing_duration_unit": "months", * "notice_time_unit": "months", * "termination_time_unit": "months", * "renewal_duration_unit": "months", * "_schema": "price", * "_title": "Solar Panel Module", * "description": "Solar Panel Module", * "active": true, * "pricing_model": "per_unit", * "is_composite_price": false, * "tax": { * "$relation": [ * { * "entity_id": "24641e82-0690-4135-8b43-ef12a9b1c5dc" * } * ] * }, * "_org": "728", * "_created_at": "2022-06-03T16:04:10.369Z", * "_updated_at": "2022-06-03T16:04:10.369Z" * }, * "_product": { * "_id": "a7f4771a-6368-4d77-bb01-71f1e4902de5", * "type": "product", * "_schema": "product", * "_title": "Solar Panel with Battery Storage", * "name": "Solar Panel with Battery Storage", * "code": "SOLAR-BATT", * "active": true, * "description": "Solar Panel with battery solution, optimized for max efficiency. ", * "feature": [ * { * "_tags": [], * "feature": "Eco-Panels" * }, * { * "_tags": [], * "feature": "Remote Management Platform" * }, * { * "_tags": [], * "feature": "Battery Remote Control" * }, * { * "_tags": [], * "feature": "Mobile App" * } * ], * "cross_sellable_products": { * "$relation": [ * { * "entity_id": "068d0713-a650-4668-9ed2-eca7be31e337", * "_schema": "product", * "_tags": [] * }, * { * "entity_id": "c8402ee7-fba9-4f3d-bffd-6803ca655782", * "_tags": [] * } * ] * }, * "product_images": { * "$relation": [ * { * "entity_id": "37bdeaaa-65fe-403e-9894-65b01cd277f1" * }, * { * "entity_id": "56dde657-795c-41bb-bf53-98fd586b7e6e" * } * ] * }, * "product_downloads": { * "$relation": [ * { * "entity_id": "64211361-8759-414b-81c0-afbf24f83aa9" * } * ] * }, * "_org": "728", * "_created_at": "2022-06-03T15:52:27.512Z", * "_updated_at": "2022-06-03T16:05:15.029Z", * "price_options": { * "$relation": [ * { * "entity_id": "9c36c23b-1574-4193-beff-b1b5e1124bc7", * "_tags": [] * }, * { * "entity_id": "146aa2cc-f267-4d5e-bda4-cbe2669b7741", * "_tags": [] * } * ] * } * }, * "quantity": 16, * "currency": "EUR", * "description": "Solar Panel Module", * "unit_amount": 100000, * "unit_amount_net": 84034, * "amount_subtotal": 1344538, * "amount_total": 1600000 * }, * { * "price_id": "146aa2cc-f267-4d5e-bda4-cbe2669b7741", * "product_id": "a7f4771a-6368-4d77-bb01-71f1e4902de5", * "pricing_model": "per_unit", * "is_composite_price": false, * "taxes": [ * { * "tax": { * "_id": "24641e82-0690-4135-8b43-ef12a9b1c5dc", * "rate": 19, * "_schema": "tax", * "_org": "728", * "_created_at": "2021-09-24T15:06:13.859Z", * "_updated_at": "2022-04-04T17:36:15.273Z", * "_title": "Tax Standard", * "type": "VAT", * "active": true, * "region": "DE", * "description": "Standard" * }, * "amount": 31933 * } * ], * "_price": { * "_id": "146aa2cc-f267-4d5e-bda4-cbe2669b7741", * "unit_amount": 50000, * "unit_amount_currency": "EUR", * "unit_amount_decimal": "500", * "sales_tax": "standard", * "is_tax_inclusive": true, * "price_display_in_journeys": "show_price", * "type": "one_time", * "billing_period": "weekly", * "billing_duration_unit": "months", * "notice_time_unit": "months", * "termination_time_unit": "months", * "renewal_duration_unit": "months", * "_schema": "price", * "_title": "Battery Module 500amps", * "description": "Battery Module 500amps", * "active": true, * "pricing_model": "per_unit", * "is_composite_price": false, * "tax": { * "$relation": [ * { * "entity_id": "24641e82-0690-4135-8b43-ef12a9b1c5dc" * } * ] * }, * "_org": "728", * "_created_at": "2022-06-03T16:05:04.391Z", * "_updated_at": "2022-06-03T16:05:04.391Z" * }, * "_product": { * "_id": "a7f4771a-6368-4d77-bb01-71f1e4902de5", * "type": "product", * "_schema": "product", * "_title": "Solar Panel with Battery Storage", * "name": "Solar Panel with Battery Storage", * "code": "SOLAR-BATT", * "active": true, * "description": "Solar Panel with battery solution, optimized for max efficiency. ", * "feature": [ * { * "_tags": [], * "feature": "Eco-Panels" * }, * { * "_tags": [], * "feature": "Remote Management Platform" * }, * { * "_tags": [], * "feature": "Battery Remote Control" * }, * { * "_tags": [], * "feature": "Mobile App" * } * ], * "cross_sellable_products": { * "$relation": [ * { * "entity_id": "068d0713-a650-4668-9ed2-eca7be31e337", * "_schema": "product", * "_tags": [] * }, * { * "entity_id": "c8402ee7-fba9-4f3d-bffd-6803ca655782", * "_tags": [] * } * ] * }, * "product_images": { * "$relation": [ * { * "entity_id": "37bdeaaa-65fe-403e-9894-65b01cd277f1" * }, * { * "entity_id": "56dde657-795c-41bb-bf53-98fd586b7e6e" * } * ] * }, * "product_downloads": { * "$relation": [ * { * "entity_id": "64211361-8759-414b-81c0-afbf24f83aa9" * } * ] * }, * "_org": "728", * "_created_at": "2022-06-03T15:52:27.512Z", * "_updated_at": "2022-06-03T16:05:15.029Z", * "price_options": { * "$relation": [ * { * "entity_id": "9c36c23b-1574-4193-beff-b1b5e1124bc7", * "_tags": [] * }, * { * "entity_id": "146aa2cc-f267-4d5e-bda4-cbe2669b7741", * "_tags": [] * } * ] * } * }, * "quantity": 4, * "currency": "EUR", * "description": "Battery Module 500amps", * "unit_amount": 50000, * "unit_amount_net": 42017, * "amount_subtotal": 168067, * "amount_total": 200000 * }, * { * "price_id": "d88a8763-3e3d-4fc7-a7a5-2bc9117148bf", * "product_id": "065d6618-cc59-45f4-8e3a-700edf6813c3", * "pricing_model": "per_unit", * "is_composite_price": false, * "_price": { * "_id": "d88a8763-3e3d-4fc7-a7a5-2bc9117148bf", * "unit_amount": 12055, * "type": "recurring", * "billing_period": "monthly", * "billing_duration_amount": 8, * "billing_duration_unit": "years", * "notice_time_amount": 3, * "notice_time_unit": "months", * "termination_time_amount": 2, * "termination_time_unit": "months", * "renewal_duration_amount": 1, * "renewal_duration_unit": "years", * "active": true, * "sales_tax": "reduced", * "is_tax_inclusive": true, * "description": "Monthly", * "billing_scheme": "per_unit", * "_schema": "price", * "_org": "728", * "_created_at": "2021-11-10T14:40:27.695Z", * "_updated_at": "2021-12-14T18:16:33.248Z", * "_title": "Monthly", * "unit_amount_currency": "EUR", * "unit_amount_decimal": "120.55456634", * "pricing_model": "per_unit", * "is_composite_price": false * }, * "_product": { * "_id": "065d6618-cc59-45f4-8e3a-700edf6813c3", * "name": "Smartmeter: Schneider Electric PM5000 LCD Energiemessgerät / 3-phasig", * "code": "1312378123", * "_tags": [ * "wallbox", * "review demo", * "1" * ], * "categories": [ * "Power" * ], * "type": "product", * "active": true, * "feature": [ * { * "_tags": [], * "feature": "Bis zu 11 kW Ladeleistung (5x schneller laden)" * }, * { * "_tags": [], * "feature": "Integrierter MID Zähler für eine kilowattstundengenaue Abrechnung*" * }, * { * "_tags": [], * "feature": "Konfigurierbare Ladeleistung" * }, * { * "_tags": [], * "feature": "Zugangskontrolle über RFID-Karten" * }, * { * "_tags": [], * "feature": "Kommunikation über LAN" * }, * { * "_tags": [], * "feature": "New feature" * } * ], * "_schema": "product", * "_org": "728", * "_created_at": "2021-11-30T11:05:19.484Z", * "_updated_at": "2022-01-13T09:18:29.944Z", * "_title": "Smartmeter: Schneider Electric PM5000 LCD Energiemessgerät / 3-phasig", * "price_options": { * "$relation": [ * { * "entity_id": "5264b089-fc6a-4a91-9a2a-80c673958faa" * }, * { * "entity_id": "d88a8763-3e3d-4fc7-a7a5-2bc9117148bf" * } * ] * }, * "product_images": { * "$relation": [ * { * "entity_id": "16729e60-c527-44ef-93c9-c68b6acf1224" * } * ] * } * }, * "quantity": 1, * "currency": "EUR", * "description": "Monthly", * "unit_amount": 12055, * "unit_amount_net": 11267, * "amount_subtotal": 11267, * "amount_total": 12055, * "taxes": [ * { * "rate": "reduced", * "amount": 789 * } * ] * }, * { * "price_id": "e1ddf75a-d0d1-40b4-a07e-56e292867c88", * "product_id": "5b9f05b7-f0f8-49c2-8a8d-0f8f923d6382", * "pricing_model": "per_unit", * "is_composite_price": false, * "_price": { * "_id": "e1ddf75a-d0d1-40b4-a07e-56e292867c88", * "unit_amount": 9900, * "unit_amount_currency": "EUR", * "unit_amount_decimal": "99", * "sales_tax": "standard", * "is_tax_inclusive": true, * "price_display_in_journeys": "show_price", * "type": "recurring", * "billing_period": "yearly", * "billing_duration_unit": "months", * "notice_time_unit": "months", * "termination_time_unit": "months", * "renewal_duration_unit": "months", * "_schema": "price", * "_title": "Yearly payment", * "description": "Yearly payment", * "active": true, * "pricing_model": "per_unit", * "is_composite_price": false, * "_org": "728", * "_created_at": "2022-02-07T22:58:39.884Z", * "_updated_at": "2022-02-07T22:58:39.884Z" * }, * "_product": { * "_id": "5b9f05b7-f0f8-49c2-8a8d-0f8f923d6382", * "_schema": "product", * "_title": "Yearly Payment Product", * "name": "Yearly Payment Product", * "type": "product", * "active": true, * "price_options": { * "$relation": [ * { * "entity_id": "e1ddf75a-d0d1-40b4-a07e-56e292867c88", * "_tags": [] * } * ] * }, * "_org": "728", * "_created_at": "2022-02-07T22:58:44.162Z", * "_updated_at": "2022-02-08T09:34:08.026Z", * "description": "Hier steht die Produktbeschreibung die sich auf dem Dokument, was generiert wird, gezogen wird." * }, * "quantity": 1, * "currency": "EUR", * "description": "Yearly payment", * "unit_amount": 9900, * "unit_amount_net": 8319, * "amount_subtotal": 8319, * "amount_total": 9900, * "taxes": [ * { * "rate": "standard", * "amount": 1581 * } * ] * } * ], * "amount_subtotal": 1532191, * "amount_total": 1821955, * "total_details": { * "amount_tax": 289764, * "breakdown": { * "taxes": [ * { * "tax": { * "_id": "24641e82-0690-4135-8b43-ef12a9b1c5dc", * "rate": 19, * "_schema": "tax", * "_org": "728", * "_created_at": "2021-09-24T15:06:13.859Z", * "_updated_at": "2022-04-04T17:36:15.273Z", * "_title": "Tax Standard", * "type": "VAT", * "active": true, * "region": "DE", * "description": "Standard" * }, * "amount": 287395 * } * ], * "recurrences": [ * { * "type": "one_time", * "amount_subtotal": 1512605, * "amount_subtotal_decimal": "15126.05", * "amount_total": 1800000, * "amount_total_decimal": "18000.00", * "amount_tax": 287395, * "amount_tax_decimal": "2873.95" * }, * { * "type": "recurring", * "billing_period": "monthly", * "amount_subtotal": 11267, * "amount_subtotal_decimal": "112.67", * "amount_total": 12055, * "amount_total_decimal": "120.55", * "amount_tax": 789, * "amount_tax_decimal": "7.89" * }, * { * "type": "recurring", * "billing_period": "yearly", * "amount_subtotal": 8319, * "amount_subtotal_decimal": "83.19", * "amount_total": 9900, * "amount_total_decimal": "99.00", * "amount_tax": 1581, * "amount_tax_decimal": "15.81" * } * ] * } * }, * "currency": "EUR", * "payment_method": [ * { * "type": "IBAN", * "details": {} * } * ], * "billing_contact": { * "$relation": [ * { * "entity_id": "1834a54e-b68f-4f7f-a98a-fe16f11bc2a5", * "_tags": [] * } * ] * }, * "billing_first_name": "Joao", * "billing_last_name": "Pinho", * "billing_email": "j.pinho@epilot.cloud", * "billing_company_name": "epilot cloud", * "billing_address": [ * { * "_tags": [], * "street": "Im Media Park", * "street_number": "8a", * "postal_code": "52000", * "city": "Cologne", * "country": "DE", * "additional_info": "" * } * ], * "delivery_address": [], * "dates": [ * { * "_tags": [ * "Instalation Date" * ], * "dates": "", * "value": "2022-06-30T16:29:00.000Z" * } * ], * "_id": "4c7c9562-f8f0-4af0-a3a6-6aebc5571a6e", * "_org": "728", * "_created_at": "2022-06-03T16:29:46.303Z", * "_updated_at": "2022-06-03T16:29:46.303Z" * } */ export interface Order { [name: string]: any; /** * The order number (customer facing) */ order_number?: string; /** * The cart id that originated or is associated with the this order */ cart_id?: string; status?: /** * * | status | description | * |-------------|-------| * | `draft` | ​​Starting state for all orders, at this point we can still edit the order | * | `quote` | The order is in a quoting phase, bound to an expiration date | * | `placed` | The order has been paid and can now be fulfilled (shipped, delivered, complete) or canceled | * | `cancelled` | The order has been cancelled | * | `completed` | The order is now closed and finalized | * */ OrderStatus; /** * Type of source, e.g. journey or manual * example: * journey */ source_type?: string; /** * Identifier for source e.g. journey ID * example: * ce99875f-fba9-4fe2-a8f9-afaf52059051 */ source_id?: string; source?: /* The order generation source */ OrderSource; metadata?: /* A set of key-value pairs used to store meta data information about an entity. */ MetaData; /** * A list of customers related with the opportunity */ customer?: { $relation?: EntityRelation[]; }; /** * The billing contact first name */ billing_first_name?: string; /** * The billing contact last name */ billing_last_name?: string; /** * The billing account name */ billing_company_name?: string; /** * The billing account VAT */ billing_vat?: string; /** * The billing email */ billing_email?: string; /** * The billing phone */ billing_phone?: string; /** * The billing address */ billing_address?: Address[]; /** * The order main currency */ currency?: /* The order main currency */ /** * Three-letter ISO currency code, in lowercase. Must be a supported currency. * ISO 4217 CURRENCY CODES as specified in the documentation: https://www.iso.org/iso-4217-currency-codes.html * * example: * EUR */ Currency; /** * The delivery address */ delivery_address?: Address[]; /** * The payment method details for the order */ payment_method?: /** * A PaymentMethod represent your customer's payment instruments. * */ PaymentMethod[]; line_items?: /* Tracks a set of product prices, quantities, (discounts) and taxes. */ PriceItems; /** * The product entities referenced from within `line_items` */ products?: { $relation?: EntityRelation[]; }; /** * The price entities referenced from within `line_items` */ prices?: { $relation?: EntityRelation[]; }; /** * The coupons referenced from within `line_items` */ coupons?: { $relation?: EntityRelation[]; }; /** * Total of all items before (discounts or) taxes are applied. */ amount_subtotal?: number; /** * Total of all items after (discounts and) taxes are applied. */ amount_total?: number; total_details?: /* The total details with tax (and discount) aggregated totals. */ TotalDetails; /** * Organization Id the order belongs to */ _org_id?: string; /** * The order id */ _id?: string; /** * The order creation date */ _created_at?: string; /** * The order last update date */ _updated_at?: string; /** * An arbitrary set of tags attached to the order */ _tags?: string[]; } /** * Order Entity Payload */ export interface OrderPayload { [name: string]: any; status?: /** * * | status | description | * |-------------|-------| * | `draft` | ​​Starting state for all orders, at this point we can still edit the order | * | `quote` | The order is in a quoting phase, bound to an expiration date | * | `placed` | The order has been paid and can now be fulfilled (shipped, delivered, complete) or canceled | * | `cancelled` | The order has been cancelled | * | `completed` | The order is now closed and finalized | * */ OrderStatus; line_items?: /* A valid set of product prices, quantities, (discounts) and taxes from a client. */ PriceItemsDto; /** * type of source, e.g. journey or manual * example: * journey */ source_type?: string; currency?: /** * Three-letter ISO currency code, in lowercase. Must be a supported currency. * ISO 4217 CURRENCY CODES as specified in the documentation: https://www.iso.org/iso-4217-currency-codes.html * * example: * EUR */ Currency; /** * The id of an existing contact. */ contact?: string; billing_first_name?: string; billing_last_name?: string; billing_company_name?: string; billing_vat?: string; billing_email?: string; billing_phone?: string; billing_address?: Address[]; delivery_address?: Address[]; payment_method?: /** * A PaymentMethod represent your customer's payment instruments. * */ PaymentMethod[]; redeemed_promos?: RedeemedPromo[]; _tags?: string[]; } /** * An order relation reference */ export interface OrderRelation { /** * The relation order id */ entity_id?: string; _tags?: string[]; } /** * The order generation source */ export interface OrderSource { /** * Link path for the source * example: * /app/v2/journey-builder/editor/db7f6940-994b-11ec-a46d-9f1824ff2939 */ http?: string; /** * Title for the source * example: * Journey: PH Journey */ title?: string; } /** * * | status | description | * |-------------|-------| * | `draft` | ​​Starting state for all orders, at this point we can still edit the order | * | `quote` | The order is in a quoting phase, bound to an expiration date | * | `placed` | The order has been paid and can now be fulfilled (shipped, delivered, complete) or canceled | * | `cancelled` | The order has been cancelled | * | `completed` | The order is now closed and finalized | * */ export type OrderStatus = "draft" | "quote" | "placed" | "cancelled" | "completed"; /** * A PaymentMethod represent your customer's payment instruments. * */ export interface PaymentMethod { /** * The type of the PaymentMethod. */ type?: string; /** * Contains relevant data associated with the payment method type. */ details?: { [name: string]: any; }; } export interface PortalContext { [name: string]: any; /** * The contract information. */ contract: { [name: string]: any; }; /** * The contact information. */ contact: { [name: string]: any; }; /** * Address to use for product availability checks. Include when the catalog should filter products by serviceable area (e.g. postal code coverage). * */ availability_address?: { /** * Postal Code */ postal_code?: string; /** * City */ city?: string; /** * Street */ street?: string; /** * Street Number */ street_number?: string; /** * The journey target block of the availability address / */ journey_target_block?: string; }; /** * Variable inputs (e.g. energy or water consumption) extracted/provided by the portal so the external catalog service can compute amounts for variable prices. * */ variable_inputs?: { /** * The value of the variable input */ value?: number; /** * The unit of the variable input */ unit?: string; /** * The frequency unit of the variable input */ frequency_unit?: "weekly" | "monthly" | "every_quarter" | "every_6_months" | "yearly" | "one_time"; /** * The journey target block of the variable input / */ journey_target_block?: string; }[]; } /** * Market area details for power */ export interface PowerMarketAreaDetails { /** * The EIC of the control zone */ controlZone?: string; /** * The EIC of the balancing zone */ balancingZone?: string; } /** * The meter type for power */ export type PowerMeterType = "classic" | "smart" | "digital"; /** * The price entity schema for simple pricing * example: * { * "unit_amount": 100000, * "unit_amount_currency": "EUR", * "unit_amount_decimal": "1000", * "sales_tax": "standard", * "is_tax_inclusive": true, * "price_display_in_journeys": "show_price", * "type": "one_time", * "billing_period": "weekly", * "billing_duration_unit": "months", * "notice_time_unit": "months", * "termination_time_unit": "months", * "renewal_duration_unit": "months", * "_schema": "price", * "_title": "Solar Panel Module", * "description": "Solar Panel Module", * "active": true, * "_id": "9c36c23b-1574-4193-beff-b1b5e1124bc7", * "_org": "728", * "_created_at": "2022-06-03T16:04:10.369Z", * "_updated_at": "2022-06-03T16:04:10.369Z", * "pricing_model": "per_unit", * "is_composite_price": false * } */ export interface Price { [name: string]: any; /** * The billing period duration */ billing_duration_amount?: number | null; /** * The billing period duration unit */ billing_duration_unit?: "days" | "weeks" | "months" | "years"; /** * The notice period duration */ notice_time_amount?: number | null; /** * The notice period duration unit */ notice_time_unit?: "days" | "weeks" | "months" | "years"; /** * The termination period duration */ termination_time_amount?: number | null; /** * The termination period duration unit */ termination_time_unit?: "days" | "weeks" | "months" | "years"; /** * The renewal period duration */ renewal_duration_amount?: number | null; /** * The renewal period duration unit */ renewal_duration_unit?: "days" | "weeks" | "months" | "years"; /** * Whether the price can be used for new purchases. */ active?: boolean; /** * The flag for prices that contain price components. */ is_composite_price?: false; /** * Describes how to compute the price per period. Either `per_unit`, `tiered_graduated` or `tiered_volume`. * - `per_unit` indicates that the fixed amount (specified in unit_amount or unit_amount_decimal) will be charged per unit in quantity * - `tiered_graduated` indicates that the unit pricing will be computed using tiers attribute. The customer pays the price per unit in every range their purchase rises through. * - `tiered_volume` indicates that the unit pricing will be computed using tiers attribute. The customer pays the same unit price for all purchased units. * - `tiered_flatfee` While similar to tiered_volume, tiered flat fee charges for the same price (flat) for the entire range instead using the unit price to multiply the quantity. * - `dynamic_tariff` indicates that the price is dynamically dependend on the (quarter)-hourly spot market price. * - `external_getag` indicates that the price is influenced by aquisition fees provided by GetAG. * */ pricing_model: "per_unit" | "tiered_graduated" | "tiered_volume" | "tiered_flatfee" | "dynamic_tariff" | "external_getag"; /** * Defines an array of tiers. Each tier has an upper bound, an unit amount and a flat fee. * */ tiers?: PriceTier[]; /** * A brief description of the price. */ description?: string; /** * A detailed description of the price. This is shown on the order document and order table. */ long_description?: string; /** * The default tax rate applicable to the product. * This field is deprecated, use the new `tax` attribute. * */ sales_tax?: /** * The default tax rate applicable to the product. * This field is deprecated, use the new `tax` attribute. * */ SalesTax; /** * The default tax rate applied to the price */ tax?: /* The default tax rate applied to the price */ { $relation?: EntityRelation[]; } | /** * the tax configuration * example: * { * "rate": 19, * "_title": "Tax Standard", * "_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", * "type": "VAT", * "description": "Tax description", * "active": true, * "region": "DE", * "region_label": "Germany", * "_org": "123", * "_schema": "tax", * "_tags": [ * "example", * "mock" * ], * "_created_at": "2021-02-09T12:41:43.662Z", * "_updated_at": "2021-02-09T12:41:43.662Z" * } */ Tax[]; /** * Specifies whether the price is considered `inclusive` of taxes or not. */ is_tax_inclusive?: boolean; /** * One of `one_time` or `recurring` depending on whether the price is for a one-time purchase or a recurring (subscription) purchase. */ type?: "one_time" | "recurring"; /** * For recurring prices `billing_period` defines the default extent of the recurrence. */ billing_period?: /* For recurring prices `billing_period` defines the default extent of the recurrence. */ BillingPeriod; /** * The unit amount in cents to be charged, represented as a whole integer if possible. */ unit_amount?: number; /** * The unit amount in eur to be charged, represented as a decimal string with at most 12 decimal places. */ unit_amount_decimal?: string; /** * Three-letter ISO currency code, in lowercase. */ unit_amount_currency?: /* Three-letter ISO currency code, in lowercase. */ /** * Three-letter ISO currency code, in lowercase. Must be a supported currency. * ISO 4217 CURRENCY CODES as specified in the documentation: https://www.iso.org/iso-4217-currency-codes.html * * example: * EUR */ Currency; /** * Defines the way the price amount is display in epilot journeys. */ price_display_in_journeys?: "show_price" | "show_as_starting_price" | "show_as_on_request" | "estimated_price"; /** * The flag for prices that can be influenced by external variables such as user input. */ variable_price?: boolean; /** * The unit of measurement used for display purposes and possibly for calculations when the price is variable. */ unit?: /* The unit of measurement used for display purposes and possibly for calculations when the price is variable. */ ("kw" | "kwh" | "m" | "m2" | "l" | "cubic-meter" | "cubic-meter-h" | "ls" | "a" | "kva" | "w" | "wp" | "kwp") | string; get_ag?: PriceGetAg; dynamic_tariff?: PriceDynamicTariff; /** * The price creation date */ _created_at?: string; /** * The price id */ _id?: string; /** * The price autogenerated title */ _title?: string; /** * The price last update date */ _updated_at?: string; /** * The organization id the price belongs to */ _org_id?: string; /** * An arbitrary set of tags attached to the price */ _tags?: string[]; } export interface PriceAmounts { /** * Total of all items before (discounts or) taxes are applied. */ amount_subtotal?: number; /** * Total of all items before (discounts or) taxes are applied, as a string with all the decimal places. */ amount_subtotal_decimal?: string; /** * Total of all items after (discounts and) taxes are applied. */ amount_total?: number; /** * Total of all items after (discounts and) taxes are applied, as a string with all the decimal places. */ amount_total_decimal?: string; } export interface PriceComponentRelation { /** * The id of the price component */ entity_id?: string; /** * By default, the quantity is set to 1, when greater than 1 this value is used as a multiplicative factor. * E.g: 16 x Solar Modules - Premium price. * */ quantity?: number; /** * An arbitrary set of tags attached to the composite price - component relation */ _tags?: string[]; } export interface PriceConditions { /** * The billing period duration */ billing_duration_amount?: number | null; /** * The billing period duration unit */ billing_duration_unit?: "days" | "weeks" | "months" | "years"; /** * The notice period duration */ notice_time_amount?: number | null; /** * The notice period duration unit */ notice_time_unit?: "days" | "weeks" | "months" | "years"; /** * The termination period duration */ termination_time_amount?: number | null; /** * The termination period duration unit */ termination_time_unit?: "days" | "weeks" | "months" | "years"; /** * The renewal period duration */ renewal_duration_amount?: number | null; /** * The renewal period duration unit */ renewal_duration_unit?: "days" | "weeks" | "months" | "years"; } export interface PriceDynamicTariff { mode: /* The mode of the dynamic tariff. `day_ahead_market` uses the Day-Ahead spot market price as base. */ DynamicTariffMode; interval?: /* The interval of the tariff if a spot market price is used as base. */ DynamicTariffInterval; average_price: number; average_price_decimal: string; /** * The markup amount, configured in Epilot, in cents. */ markup_amount?: number; /** * The markup amount, configured in Epilot, as a string with full precision. */ markup_amount_decimal?: string; /** * The markup amount net, configured in Epilot, in cents. */ markup_amount_net?: number; /** * The markup amount net, configured in Epilot, as a string with full precision. */ markup_amount_net_decimal?: string; /** * The markup amount gross, configured in Epilot, in cents. */ markup_amount_gross?: number; /** * The markup amount gross, configured in Epilot, as a string with full precision. */ markup_amount_gross_decimal?: string; /** * The unit amount net for the energy price in cents, it's provided by an external provider. */ unit_amount_net?: number; /** * The unit amount net for the energy price as a string with full precision, it's provided by an external provider. */ unit_amount_net_decimal?: string; /** * The unit amount gross for the energy price in cents, it's provided by an external provider. */ unit_amount_gross?: number; /** * The unit amount gross for the energy price as a string with full precision, it's provided by an external provider. */ unit_amount_gross_decimal?: string; } export interface PriceGetAg { category: ProductCategory; markup_pricing_model?: /** * Describes how to compute the markup per period. Either `per_unit`, `tiered_volume` or `tiered_flatfee`. * - `per_unit` indicates that the fixed amount (specified in unit_amount or unit_amount_decimal) will be charged per unit in quantity * - `tiered_volume` indicates that the unit pricing will be computed using tiers attribute. The customer pays the same unitary price for all purchased units. * - `tiered_flatfee` While similar to tiered_volume, tiered flat fee charges for the same price (flat) for the entire range instead using the unit price to multiply the quantity. * */ MarkupPricingModel; type?: TypeGetAg; tariff_type?: TariffTypeGetAg; consumption_type?: ConsumptionTypeGetAg; concession_type?: /* The concession type for gas */ GasConcessionType; meter_type?: /* The meter type for power */ PowerMeterType; /** * Defines an array of tiers. Each tier has an upper bound, an unit amount and a flat fee. * */ markup_tiers?: PriceTier[]; markup_amount: number; markup_amount_decimal: string; markup_amount_net?: number; markup_amount_net_decimal?: string; markup_amount_gross?: number; markup_amount_gross_decimal?: string; markup_total_amount_net?: number; markup_total_amount_net_decimal?: string; markup_total_amount_gross?: number; markup_total_amount_gross_decimal?: string; /** * Whether the additional markups are enabled */ additional_markups_enabled?: boolean; additional_markups?: { [name: string]: { amount_decimal: string; amount: number; amount_net?: number; amount_net_decimal?: string; amount_gross?: number; amount_gross_decimal?: string; }; }; unit_amount_gross: number; unit_amount_gross_decimal?: string; unit_amount_net: number; unit_amount_net_decimal?: string; } /** * example: * { * "price_id": "589B011B-F8D9-4F8E-AD71-BACE4B543C0F", * "frequency_unit": "weekly", * "value": 1000.245, * "name": "avg consumption", * "metadata": { * "journey_title": "energy journey", * "step_name": "avg consumption picker" * } * } */ export interface PriceInputMapping { price_id?: string; frequency_unit?: "weekly" | "monthly" | "every_quarter" | "every_6_months" | "yearly" | "one_time"; name?: string; value?: number; metadata?: { [name: string]: string; }; } /** * example: * [ * { * "price_id": "589B011B-F8D9-4F8E-AD71-BACE4B543C0F", * "frequency_unit": "weekly", * "value": 1000.245, * "name": "avg consumption", * "metadata": { * "journey_title": "energy journey", * "step_name": "avg consumption picker" * } * } * ] */ export type PriceInputMappings = /** * example: * { * "price_id": "589B011B-F8D9-4F8E-AD71-BACE4B543C0F", * "frequency_unit": "weekly", * "value": 1000.245, * "name": "avg consumption", * "metadata": { * "journey_title": "energy journey", * "step_name": "avg consumption picker" * } * } */ PriceInputMapping[]; /** * Represents a price item * example: * { * "amount_subtotal": 10000, * "amount_total": 10600, * "currency": "EUR", * "description": "Annual internet service", * "price_id": "7e24ff5d-d580-4136-a32f-19191eed039a", * "product_id": "6241487f-b7fd-428b-ab92-24ee0b37fd84", * "taxes": [ * { * "amount": 600, * "tax": { * "active": true, * "description": "Without Behaviour", * "rate": 6, * "region": "DE", * "type": "VAT", * "_created_at": "2022-02-07T14:49:08.831Z", * "_id": "18bbbc2e-2c37-4f91-924a-07ae60d830e4", * "_org": "739224", * "_schema": "tax", * "_title": "Tax Without Behaviour", * "_updated_at": "2022-02-07T14:49:08.831Z" * } * }, * { * "amount": 600, * "tax": { * "active": true, * "description": "Without Behaviour", * "rate": 6, * "region": "DE", * "type": "VAT", * "_created_at": "2022-02-07T14:49:08.831Z", * "_id": "18bbbc2e-2c37-4f91-924a-07ae60d830e4", * "_org": "739224", * "_schema": "tax", * "_title": "Tax Without Behaviour", * "_updated_at": "2022-02-07T14:49:08.831Z" * } * } * ], * "unit_amount": 10000, * "unit_amount_net": 10000, * "pricing_model": "per_unit", * "_price": { * "unit_amount": 10000, * "unit_amount_currency": "EUR", * "unit_amount_decimal": "100.00", * "sales_tax": "standard", * "is_tax_inclusive": false, * "price_display_in_journeys": "show_price", * "type": "one_time", * "billing_period": "weekly", * "billing_duration_unit": "months", * "notice_time_unit": "months", * "termination_time_unit": "months", * "renewal_duration_unit": "months", * "_schema": "price", * "_title": "Solar Panel Module", * "description": "Solar Panel Module", * "active": true, * "tax": { * "$relation": [ * { * "entity_id": "24641e82-0690-4135-8b43-ef12a9b1c5dc" * }, * { * "entity_id": "24641e82-0690-4135-8b43-ef12a9b1c5dc" * } * ] * }, * "_id": "7e24ff5d-d580-4136-a32f-19191eed039a", * "_org": "728", * "_created_at": "2022-06-03T16:04:10.369Z", * "_updated_at": "2022-06-03T16:04:10.369Z", * "pricing_model": "per_unit" * }, * "_product": { * "name": "Cool box", * "type": "product", * "_id": "73f857a4-0fbc-4aa6-983f-87c0d6d410a6", * "_title": "Cool box" * } * } */ export interface PriceItem { /** * Total of all items before (discounts or) taxes are applied. */ amount_subtotal?: number; /** * Total of all items before (discounts or) taxes are applied, as a string with all the decimal places. */ amount_subtotal_decimal?: string; /** * Total of all items after (discounts and) taxes are applied. */ amount_total?: number; /** * Total of all items after (discounts and) taxes are applied, as a string with all the decimal places. */ amount_total_decimal?: string; /** * The cashback amount. */ cashback_amount?: number; /** * The cashback amount as a string with all the decimal places. */ cashback_amount_decimal?: string; cashback_period?: /* The cashback period, for now it's limited to either 0 months or 12 months */ CashbackPeriod; /** * Total amount after cashback is applied. */ after_cashback_amount_total?: number; /** * Total amount after cashback is applied as a string with all the decimal places. */ after_cashback_amount_total_decimal?: string; /** * The discount amount. */ discount_amount?: number; /** * The discount amount as a string with all the decimal places. */ discount_amount_decimal?: string; /** * The discount percentage, if the applied coupon had a percentage type. */ discount_percentage?: number; /** * Total amount before discount is applied. */ before_discount_amount_total?: number; /** * Total amount before discount is applied as a string with all the decimal places. */ before_discount_amount_total_decimal?: string; /** * Total amount before discount is applied, excluding taxes. */ before_discount_amount_subtotal?: number; /** * Total amount before discount is applied, excluding taxes, as a string with all the decimal places. */ before_discount_amount_subtotal_decimal?: string; metadata?: /* A set of key-value pairs used to store meta data information about an entity. */ MetaData; /** * The quantity of products being purchased. */ quantity?: number; /** * The id of the product. */ product_id?: string; /** * The id of the price. */ price_id?: string; /** * An arbitrary string attached to the price item. Often useful for displaying to users. Defaults to product name. */ description?: string; /** * The description for the product. */ product_description?: string; /** * The name for the product. */ product_name?: string; price_mappings?: /** * example: * [ * { * "price_id": "589B011B-F8D9-4F8E-AD71-BACE4B543C0F", * "frequency_unit": "weekly", * "value": 1000.245, * "name": "avg consumption", * "metadata": { * "journey_title": "energy journey", * "step_name": "avg consumption picker" * } * } * ] */ PriceInputMappings; /** * Specifies whether the price is considered `inclusive` of taxes or not. */ is_tax_inclusive?: boolean; /** * The snapshot of the product. * example: * { * "type": "product", * "_schema": "product", * "_title": "Solar Panel with Battery Storage", * "name": "Solar Panel with Battery Storage", * "code": "SOLAR-BATT", * "active": true, * "description": "Solar Panel with battery solution, optimized for max efficiency. ", * "feature": [ * { * "_tags": [], * "feature": "Eco-Panels" * }, * { * "_tags": [], * "feature": "Remote Management Platform" * }, * { * "_tags": [], * "feature": "Battery Remote Control" * }, * { * "_tags": [], * "feature": "Mobile App" * } * ], * "cross_sellable_products": { * "$relation": [ * { * "entity_id": "068d0713-a650-4668-9ed2-eca7be31e337", * "_schema": "product", * "_tags": [] * }, * { * "entity_id": "c8402ee7-fba9-4f3d-bffd-6803ca655782", * "_tags": [] * } * ] * }, * "product_images": { * "$relation": [ * { * "entity_id": "37bdeaaa-65fe-403e-9894-65b01cd277f1" * }, * { * "entity_id": "56dde657-795c-41bb-bf53-98fd586b7e6e" * } * ] * }, * "product_downloads": { * "$relation": [ * { * "entity_id": "64211361-8759-414b-81c0-afbf24f83aa9" * } * ] * }, * "_id": "a7f4771a-6368-4d77-bb01-71f1e4902de5", * "_org": "728", * "_created_at": "2022-06-03T15: 52: 27.512Z", * "_updated_at": "2022-06-03T16: 05: 15.029Z", * "price_options": { * "$relation": [ * { * "entity_id": "9c36c23b-1574-4193-beff-b1b5e1124bc7", * "_tags": [] * }, * { * "entity_id": "146aa2cc-f267-4d5e-bda4-cbe2669b7741", * "_tags": [] * } * ] * } * } */ _product?: { [name: string]: any; /** * The description for the product */ description?: string; /** * The product code */ code?: string; /** * The type of Product: * * | type | description | * |----| ----| * | `product` | Represents a physical good | * | `service` | Represents a service or virtual product | * */ type?: "product" | "service"; /** * The product main name */ name?: string; /** * The product categories */ categories?: string[]; feature?: { /** * An arbitrary set of tags attached to a feature */ _tags?: string[]; feature?: string; }[]; /** * Stores references to products that can be cross sold with the current product. */ cross_sellable_products?: { $relation?: EntityRelation[]; }; /** * Stores references to a set of file images of the product */ product_images?: /* Stores references to a set of file images of the product */ { $relation?: EntityRelation[]; } | File[]; /** * Stores references to a set of files downloadable from the product. * e.g: tech specifications, quality control sheets, privacy policy agreements * */ product_downloads?: /** * Stores references to a set of files downloadable from the product. * e.g: tech specifications, quality control sheets, privacy policy agreements * */ { $relation?: EntityRelation[]; } | File[]; /** * A set of [prices](/api/pricing#tag/simple_price_schema) or [composite prices](/api/pricing#tag/dynamic_price_schema) for the current product. */ price_options?: { $relation?: EntityRelation[]; }; /** * Stores references to the availability files that define where this product is available. * These files are used when interacting with products via epilot Journeys, thought the AvailabilityCheck block. * */ _availability_files?: File[]; /** * The product id */ _id?: string; /** * The autogenerated product title */ _title?: string; /** * The organization id the product belongs to */ _org_id?: string; /** * The product creation date */ _created_at?: string; /** * The product last update date */ _updated_at?: string; }; /** * price item id */ _id?: string; /** * The unit amount value */ unit_amount?: number; /** * The unit amount in eur to be charged, represented as a decimal string with at most 12 decimal places. */ unit_amount_decimal?: string; /** * The unit amount before any discount is applied */ before_discount_unit_amount?: number; /** * The unit amount before any discount is applied, represented as a decimal string with at most 12 decimal places. */ before_discount_unit_amount_decimal?: string; /** * The unit gross amount before any discount is applied */ before_discount_unit_amount_gross?: number; /** * The unit gross amount before any discount is applied, represented as a decimal string with at most 12 decimal places. */ before_discount_unit_amount_gross_decimal?: string; /** * The unit net amount before any discount is applied */ before_discount_unit_amount_net?: number; /** * The unit net amount before any discount is applied, represented as a decimal string with at most 12 decimal places. */ before_discount_unit_amount_net_decimal?: string; /** * The discount amount applied for each unit */ unit_discount_amount?: number; /** * The discount amount applied for each unit represented as a decimal string */ unit_discount_amount_decimal?: string; /** * The unit gross amount value. */ unit_amount_gross?: number; /** * The unit gross amount value. */ unit_amount_gross_decimal?: string; /** * Net unit amount without taxes or discounts. */ unit_amount_net?: number; /** * Net unit amount without taxes or discounts. */ unit_amount_net_decimal?: string; /** * The net discount amount applied for each unit */ unit_discount_amount_net?: number; /** * The net discount amount applied for each unit represented as a decimal string */ unit_discount_amount_net_decimal?: string; /** * The discount amount applied to the tax */ tax_discount_amount?: number; /** * The discount amount applied to the tax represented as a decimal string */ tax_discount_amount_decimal?: string; /** * The net discount amount applied */ discount_amount_net?: number; /** * The net discount amount applied represented as a decimal string */ discount_amount_net_decimal?: string; /** * Total tax amount for this line item. */ amount_tax?: number; /** * The tax amount before any discount is applied */ before_discount_tax_amount?: number; /** * The tax amount before any discount is applied represented as a decimal string */ before_discount_tax_amount_decimal?: string; currency?: /** * Three-letter ISO currency code, in lowercase. Must be a supported currency. * ISO 4217 CURRENCY CODES as specified in the documentation: https://www.iso.org/iso-4217-currency-codes.html * * example: * EUR */ Currency; /** * The taxes applied to the price item. */ taxes?: (/* A tax amount associated with a specific tax rate. */ TaxAmount)[]; /** * The sum of amounts of the price items by recurrence. */ recurrences?: (/* An amount associated with a specific recurrence. */ RecurrenceAmount)[]; /** * The coupons applicable to the price item */ _coupons?: (/* The shared properties for the coupon entity and coupon item entity */ CouponItem)[]; /** * When set to true on a `_price` displayed as OnRequest (`show_as_on_request: 'on_request'`) this flag means the price has been approved and can now be displayed to the customer. This flag is only valid for prices shown as 'on_request'. */ on_request_approved?: boolean; /** * One of `one_time` or `recurring` depending on whether the price is for a one-time purchase or a recurring (subscription) purchase. */ type?: "one_time" | "recurring"; /** * The flag for prices that contain price components. */ is_composite_price?: false; /** * The price billing period. */ billing_period?: /* The price billing period. */ BillingPeriod; pricing_model: /** * Describes how to compute the price per period. Either `per_unit`, `tiered_graduated` or `tiered_volume`. * - `per_unit` indicates that the fixed amount (specified in unit_amount or unit_amount_decimal) will be charged per unit in quantity * - `tiered_graduated` indicates that the unit pricing will be computed using tiers attribute. The customer pays the price per unit in every range their purchase rises through. * - `tiered_volume` indicates that the unit pricing will be computed using tiers attribute. The customer pays the same unit price for all purchased units. * - `tiered_flatfee` While similar to tiered_volume, tiered flat fee charges for the same price (flat) for the entire range instead using the unit price to multiply the quantity. * - `dynamic_tariff` indicates that the price is dynamically dependend on the (quarter)-hourly spot market price. * - `external_getag` indicates that the price is influenced by aquisition fees provided by GetAG. * */ PricingModel; tiers_details?: TierDetails[]; get_ag?: PriceGetAg; dynamic_tariff?: PriceDynamicTariff; /** * The price snapshot data. */ _price?: /* The price snapshot data. */ /** * The price entity schema for simple pricing * example: * { * "unit_amount": 100000, * "unit_amount_currency": "EUR", * "unit_amount_decimal": "1000", * "sales_tax": "standard", * "is_tax_inclusive": true, * "price_display_in_journeys": "show_price", * "type": "one_time", * "billing_period": "weekly", * "billing_duration_unit": "months", * "notice_time_unit": "months", * "termination_time_unit": "months", * "renewal_duration_unit": "months", * "_schema": "price", * "_title": "Solar Panel Module", * "description": "Solar Panel Module", * "active": true, * "_id": "9c36c23b-1574-4193-beff-b1b5e1124bc7", * "_org": "728", * "_created_at": "2022-06-03T16:04:10.369Z", * "_updated_at": "2022-06-03T16:04:10.369Z", * "pricing_model": "per_unit", * "is_composite_price": false * } */ Price; } /** * Represents a price input to the pricing library. */ export interface PriceItemDto { metadata?: /* A set of key-value pairs used to store meta data information about an entity. */ MetaData; /** * The quantity of products being purchased. */ quantity?: number; /** * The id of the product. */ product_id?: string; /** * The id of the price. */ price_id?: string; /** * An arbitrary string attached to the price item. Often useful for displaying to users. Defaults to product name. */ description?: string; /** * The description for the product. */ product_description?: string; /** * The name for the product. */ product_name?: string; price_mappings?: /** * example: * [ * { * "price_id": "589B011B-F8D9-4F8E-AD71-BACE4B543C0F", * "frequency_unit": "weekly", * "value": 1000.245, * "name": "avg consumption", * "metadata": { * "journey_title": "energy journey", * "step_name": "avg consumption picker" * } * } * ] */ PriceInputMappings; /** * Specifies whether the price is considered `inclusive` of taxes or not. */ is_tax_inclusive?: boolean; /** * The snapshot of the product. * example: * { * "type": "product", * "_schema": "product", * "_title": "Solar Panel with Battery Storage", * "name": "Solar Panel with Battery Storage", * "code": "SOLAR-BATT", * "active": true, * "description": "Solar Panel with battery solution, optimized for max efficiency. ", * "feature": [ * { * "_tags": [], * "feature": "Eco-Panels" * }, * { * "_tags": [], * "feature": "Remote Management Platform" * }, * { * "_tags": [], * "feature": "Battery Remote Control" * }, * { * "_tags": [], * "feature": "Mobile App" * } * ], * "cross_sellable_products": { * "$relation": [ * { * "entity_id": "068d0713-a650-4668-9ed2-eca7be31e337", * "_schema": "product", * "_tags": [] * }, * { * "entity_id": "c8402ee7-fba9-4f3d-bffd-6803ca655782", * "_tags": [] * } * ] * }, * "product_images": { * "$relation": [ * { * "entity_id": "37bdeaaa-65fe-403e-9894-65b01cd277f1" * }, * { * "entity_id": "56dde657-795c-41bb-bf53-98fd586b7e6e" * } * ] * }, * "product_downloads": { * "$relation": [ * { * "entity_id": "64211361-8759-414b-81c0-afbf24f83aa9" * } * ] * }, * "_id": "a7f4771a-6368-4d77-bb01-71f1e4902de5", * "_org": "728", * "_created_at": "2022-06-03T15: 52: 27.512Z", * "_updated_at": "2022-06-03T16: 05: 15.029Z", * "price_options": { * "$relation": [ * { * "entity_id": "9c36c23b-1574-4193-beff-b1b5e1124bc7", * "_tags": [] * }, * { * "entity_id": "146aa2cc-f267-4d5e-bda4-cbe2669b7741", * "_tags": [] * } * ] * } * } */ _product?: { [name: string]: any; /** * The description for the product */ description?: string; /** * The product code */ code?: string; /** * The type of Product: * * | type | description | * |----| ----| * | `product` | Represents a physical good | * | `service` | Represents a service or virtual product | * */ type?: "product" | "service"; /** * The product main name */ name?: string; /** * The product categories */ categories?: string[]; feature?: { /** * An arbitrary set of tags attached to a feature */ _tags?: string[]; feature?: string; }[]; /** * Stores references to products that can be cross sold with the current product. */ cross_sellable_products?: { $relation?: EntityRelation[]; }; /** * Stores references to a set of file images of the product */ product_images?: /* Stores references to a set of file images of the product */ { $relation?: EntityRelation[]; } | File[]; /** * Stores references to a set of files downloadable from the product. * e.g: tech specifications, quality control sheets, privacy policy agreements * */ product_downloads?: /** * Stores references to a set of files downloadable from the product. * e.g: tech specifications, quality control sheets, privacy policy agreements * */ { $relation?: EntityRelation[]; } | File[]; /** * A set of [prices](/api/pricing#tag/simple_price_schema) or [composite prices](/api/pricing#tag/dynamic_price_schema) for the current product. */ price_options?: { $relation?: EntityRelation[]; }; /** * Stores references to the availability files that define where this product is available. * These files are used when interacting with products via epilot Journeys, thought the AvailabilityCheck block. * */ _availability_files?: File[]; /** * The product id */ _id?: string; /** * The autogenerated product title */ _title?: string; /** * The organization id the product belongs to */ _org_id?: string; /** * The product creation date */ _created_at?: string; /** * The product last update date */ _updated_at?: string; }; external_fees_mappings?: /** * example: * [ * { * "price_id": "589B011B-F8D9-4F8E-AD71-BACE4B543C0F", * "frequency_unit": "weekly", * "amount_total": 1000, * "amount_total_decimal": "10.00" * } * ] */ ExternalFeeMappings; external_fees_metadata?: ExternalFeeMetadata; external_location_metadata?: /* The provider entity */ ExternalLocationMetadata; external_price_metadata?: ExternalPriceMetadata; _immutable_pricing_details?: /* The result from the calculation of a set of price items. */ PricingDetails; /** * The ids of the coupons applicable to the price item */ coupon_ids?: string[]; /** * The taxes applied to the price item. */ taxes?: (/* A valid tax rate from a client. */ TaxAmountDto)[]; /** * The taxes applied to the price item. */ recurrences?: (/* An amount associated with a specific recurrence. */ RecurrenceAmountDto)[]; /** * The coupons applicable to the price item */ _coupons?: (/* The shared properties for the coupon entity and coupon item entity */ CouponItem)[]; /** * One of `one_time` or `recurring` depending on whether the price is for a one-time purchase or a recurring (subscription) purchase. */ type?: "one_time" | "recurring"; /** * The price billing period. */ billing_period?: /* The price billing period. */ BillingPeriod; /** * The unit amount value */ unit_amount?: number; /** * The unit gross amount value. */ unit_amount_gross?: number; unit_amount_currency?: /** * Three-letter ISO currency code, in lowercase. Must be a supported currency. * ISO 4217 CURRENCY CODES as specified in the documentation: https://www.iso.org/iso-4217-currency-codes.html * * example: * EUR */ Currency; /** * The unit amount in eur to be charged, represented as a decimal string with at most 12 decimal places. */ unit_amount_decimal?: string; /** * The flag for prices that contain price components. */ is_composite_price?: false; /** * Describes how to compute the price per period. Either `per_unit`, `tiered_graduated` or `tiered_volume`. * - `per_unit` indicates that the fixed amount (specified in unit_amount or unit_amount_decimal) will be charged per unit in quantity * - `tiered_graduated` indicates that the unit pricing will be computed using tiers attribute. The customer pays the price per unit in every range their purchase rises through. * - `tiered_volume` indicates that the unit pricing will be computed using tiers attribute. The customer pays the same unit price for all purchased units. * - `tiered_flatfee` indicates that the unit pricing will be computed using tiers attribute. The customer pays the same unit price for all purchased units. * - `dynamic_tariff` indicates that the price is dynamically dependend on the (quarter)-hourly spot market price. * - `external_getag` indicates that the price is influenced by aquisition fees provided by GetAG. * */ pricing_model?: "per_unit" | "tiered_graduated" | "tiered_volume" | "tiered_flatfee" | "dynamic_tariff" | "external_getag"; /** * The snapshot of the price linked to the price item. * example: * { * "unit_amount": 100000, * "unit_amount_currency": "EUR", * "unit_amount_decimal": "1000", * "sales_tax": "standard", * "is_tax_inclusive": true, * "price_display_in_journeys": "show_price", * "type": "one_time", * "billing_period": "weekly", * "billing_duration_unit": "months", * "notice_time_unit": "months", * "termination_time_unit": "months", * "renewal_duration_unit": "months", * "_schema": "price", * "_title": "Solar Panel Module", * "description": "Solar Panel Module", * "active": true, * "_id": "9c36c23b-1574-4193-beff-b1b5e1124bc7", * "_org": "728", * "_created_at": "2022-06-03T16:04:10.369Z", * "_updated_at": "2022-06-03T16:04:10.369Z", * "pricing_model": "per_unit", * "is_composite_price": false * } */ _price?: { [name: string]: any; /** * The billing period duration */ billing_duration_amount?: number | null; /** * The billing period duration unit */ billing_duration_unit?: "days" | "weeks" | "months" | "years"; /** * The notice period duration */ notice_time_amount?: number | null; /** * The notice period duration unit */ notice_time_unit?: "days" | "weeks" | "months" | "years"; /** * The termination period duration */ termination_time_amount?: number | null; /** * The termination period duration unit */ termination_time_unit?: "days" | "weeks" | "months" | "years"; /** * The renewal period duration */ renewal_duration_amount?: number | null; /** * The renewal period duration unit */ renewal_duration_unit?: "days" | "weeks" | "months" | "years"; /** * Whether the price can be used for new purchases. */ active?: boolean; /** * The flag for prices that contain price components. */ is_composite_price?: false; /** * Describes how to compute the price per period. Either `per_unit`, `tiered_graduated` or `tiered_volume`. * - `per_unit` indicates that the fixed amount (specified in unit_amount or unit_amount_decimal) will be charged per unit in quantity * - `tiered_graduated` indicates that the unit pricing will be computed using tiers attribute. The customer pays the price per unit in every range their purchase rises through. * - `tiered_volume` indicates that the unit pricing will be computed using tiers attribute. The customer pays the same unit price for all purchased units. * - `tiered_flatfee` While similar to tiered_volume, tiered flat fee charges for the same price (flat) for the entire range instead using the unit price to multiply the quantity. * - `dynamic_tariff` indicates that the price is dynamically dependend on the (quarter)-hourly spot market price. * - `external_getag` indicates that the price is influenced by aquisition fees provided by GetAG. * */ pricing_model: "per_unit" | "tiered_graduated" | "tiered_volume" | "tiered_flatfee" | "dynamic_tariff" | "external_getag"; /** * Defines an array of tiers. Each tier has an upper bound, an unit amount and a flat fee. * */ tiers?: PriceTier[]; /** * A brief description of the price. */ description?: string; /** * A detailed description of the price. This is shown on the order document and order table. */ long_description?: string; /** * The default tax rate applicable to the product. * This field is deprecated, use the new `tax` attribute. * */ sales_tax?: /** * The default tax rate applicable to the product. * This field is deprecated, use the new `tax` attribute. * */ SalesTax; /** * The default tax rate applied to the price */ tax?: /* The default tax rate applied to the price */ { $relation?: EntityRelation[]; } | /** * the tax configuration * example: * { * "rate": 19, * "_title": "Tax Standard", * "_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", * "type": "VAT", * "description": "Tax description", * "active": true, * "region": "DE", * "region_label": "Germany", * "_org": "123", * "_schema": "tax", * "_tags": [ * "example", * "mock" * ], * "_created_at": "2021-02-09T12:41:43.662Z", * "_updated_at": "2021-02-09T12:41:43.662Z" * } */ Tax[]; /** * Specifies whether the price is considered `inclusive` of taxes or not. */ is_tax_inclusive?: boolean; /** * One of `one_time` or `recurring` depending on whether the price is for a one-time purchase or a recurring (subscription) purchase. */ type?: "one_time" | "recurring"; /** * For recurring prices `billing_period` defines the default extent of the recurrence. */ billing_period?: /* For recurring prices `billing_period` defines the default extent of the recurrence. */ BillingPeriod; /** * The unit amount in cents to be charged, represented as a whole integer if possible. */ unit_amount?: number; /** * The unit amount in eur to be charged, represented as a decimal string with at most 12 decimal places. */ unit_amount_decimal?: string; /** * Three-letter ISO currency code, in lowercase. */ unit_amount_currency?: /* Three-letter ISO currency code, in lowercase. */ /** * Three-letter ISO currency code, in lowercase. Must be a supported currency. * ISO 4217 CURRENCY CODES as specified in the documentation: https://www.iso.org/iso-4217-currency-codes.html * * example: * EUR */ Currency; /** * Defines the way the price amount is display in epilot journeys. */ price_display_in_journeys?: "show_price" | "show_as_starting_price" | "show_as_on_request" | "estimated_price"; /** * The flag for prices that can be influenced by external variables such as user input. */ variable_price?: boolean; /** * The unit of measurement used for display purposes and possibly for calculations when the price is variable. */ unit?: /* The unit of measurement used for display purposes and possibly for calculations when the price is variable. */ ("kw" | "kwh" | "m" | "m2" | "l" | "cubic-meter" | "cubic-meter-h" | "ls" | "a" | "kva" | "w" | "wp" | "kwp") | string; get_ag?: PriceGetAg; dynamic_tariff?: PriceDynamicTariff; /** * The price creation date */ _created_at?: string; /** * The price id */ _id?: string; /** * The price autogenerated title */ _title?: string; /** * The price last update date */ _updated_at?: string; /** * The organization id the price belongs to */ _org_id?: string; /** * An arbitrary set of tags attached to the price */ _tags?: string[]; }; } export type PriceItemDtoUnion = /* Represents a price input to the pricing library. */ PriceItemDto | /* Represents a composite price input to the pricing library. */ CompositePriceItemDto; /** * Tracks a set of product prices, quantities, (discounts) and taxes. */ export type PriceItems = (/** * Represents a price item * example: * { * "amount_subtotal": 10000, * "amount_total": 10600, * "currency": "EUR", * "description": "Annual internet service", * "price_id": "7e24ff5d-d580-4136-a32f-19191eed039a", * "product_id": "6241487f-b7fd-428b-ab92-24ee0b37fd84", * "taxes": [ * { * "amount": 600, * "tax": { * "active": true, * "description": "Without Behaviour", * "rate": 6, * "region": "DE", * "type": "VAT", * "_created_at": "2022-02-07T14:49:08.831Z", * "_id": "18bbbc2e-2c37-4f91-924a-07ae60d830e4", * "_org": "739224", * "_schema": "tax", * "_title": "Tax Without Behaviour", * "_updated_at": "2022-02-07T14:49:08.831Z" * } * }, * { * "amount": 600, * "tax": { * "active": true, * "description": "Without Behaviour", * "rate": 6, * "region": "DE", * "type": "VAT", * "_created_at": "2022-02-07T14:49:08.831Z", * "_id": "18bbbc2e-2c37-4f91-924a-07ae60d830e4", * "_org": "739224", * "_schema": "tax", * "_title": "Tax Without Behaviour", * "_updated_at": "2022-02-07T14:49:08.831Z" * } * } * ], * "unit_amount": 10000, * "unit_amount_net": 10000, * "pricing_model": "per_unit", * "_price": { * "unit_amount": 10000, * "unit_amount_currency": "EUR", * "unit_amount_decimal": "100.00", * "sales_tax": "standard", * "is_tax_inclusive": false, * "price_display_in_journeys": "show_price", * "type": "one_time", * "billing_period": "weekly", * "billing_duration_unit": "months", * "notice_time_unit": "months", * "termination_time_unit": "months", * "renewal_duration_unit": "months", * "_schema": "price", * "_title": "Solar Panel Module", * "description": "Solar Panel Module", * "active": true, * "tax": { * "$relation": [ * { * "entity_id": "24641e82-0690-4135-8b43-ef12a9b1c5dc" * }, * { * "entity_id": "24641e82-0690-4135-8b43-ef12a9b1c5dc" * } * ] * }, * "_id": "7e24ff5d-d580-4136-a32f-19191eed039a", * "_org": "728", * "_created_at": "2022-06-03T16:04:10.369Z", * "_updated_at": "2022-06-03T16:04:10.369Z", * "pricing_model": "per_unit" * }, * "_product": { * "name": "Cool box", * "type": "product", * "_id": "73f857a4-0fbc-4aa6-983f-87c0d6d410a6", * "_title": "Cool box" * } * } */ PriceItem | /** * Represents a composite price input to the pricing library. * example: * { * "amount_subtotal": 10000, * "amount_total": 10600, * "currency": "EUR", * "description": "Annual internet service", * "price_id": "7e24ff5d-d580-4136-a32f-19191eed039a", * "product_id": "6241487f-b7fd-428b-ab92-24ee0b37fd84", * "taxes": [ * { * "amount": 600, * "tax": { * "active": true, * "description": "Without Behaviour", * "rate": 6, * "region": "DE", * "type": "VAT", * "_created_at": "2022-02-07T14:49:08.831Z", * "_id": "18bbbc2e-2c37-4f91-924a-07ae60d830e4", * "_org": "739224", * "_schema": "tax", * "_title": "Tax Without Behaviour", * "_updated_at": "2022-02-07T14:49:08.831Z" * } * } * ], * "unit_amount": 10000, * "unit_amount_net": 10000, * "pricing_model": "per_unit", * "_price": { * "unit_amount": 10000, * "unit_amount_currency": "EUR", * "unit_amount_decimal": "100.00", * "sales_tax": "standard", * "is_tax_inclusive": false, * "price_display_in_journeys": "show_price", * "type": "one_time", * "billing_period": "weekly", * "billing_duration_unit": "months", * "notice_time_unit": "months", * "termination_time_unit": "months", * "renewal_duration_unit": "months", * "_schema": "price", * "_title": "Solar Panel Module", * "description": "Solar Panel Module", * "active": true, * "tax": { * "$relation": [ * { * "entity_id": "24641e82-0690-4135-8b43-ef12a9b1c5dc" * } * ] * }, * "_id": "7e24ff5d-d580-4136-a32f-19191eed039a", * "_org": "728", * "_created_at": "2022-06-03T16:04:10.369Z", * "_updated_at": "2022-06-03T16:04:10.369Z", * "pricing_model": "per_unit" * }, * "_product": { * "name": "Cool box", * "type": "product", * "_id": "73f857a4-0fbc-4aa6-983f-87c0d6d410a6", * "_title": "Cool box" * } * } */ CompositePriceItem)[]; /** * A valid set of product prices, quantities, (discounts) and taxes from a client. */ export type PriceItemsDto = PriceItemDtoUnion[]; export interface PriceTier { up_to?: number | null; flat_fee_amount?: number; flat_fee_amount_decimal?: string; unit_amount?: number; unit_amount_decimal?: string; display_mode?: PriceTierDisplayMode; } export type PriceTierDisplayMode = "hidden" | "on_request"; /** * The result from the calculation of a set of price items. */ export interface PricingDetails { items?: (/** * Represents a price item * example: * { * "amount_subtotal": 10000, * "amount_total": 10600, * "currency": "EUR", * "description": "Annual internet service", * "price_id": "7e24ff5d-d580-4136-a32f-19191eed039a", * "product_id": "6241487f-b7fd-428b-ab92-24ee0b37fd84", * "taxes": [ * { * "amount": 600, * "tax": { * "active": true, * "description": "Without Behaviour", * "rate": 6, * "region": "DE", * "type": "VAT", * "_created_at": "2022-02-07T14:49:08.831Z", * "_id": "18bbbc2e-2c37-4f91-924a-07ae60d830e4", * "_org": "739224", * "_schema": "tax", * "_title": "Tax Without Behaviour", * "_updated_at": "2022-02-07T14:49:08.831Z" * } * }, * { * "amount": 600, * "tax": { * "active": true, * "description": "Without Behaviour", * "rate": 6, * "region": "DE", * "type": "VAT", * "_created_at": "2022-02-07T14:49:08.831Z", * "_id": "18bbbc2e-2c37-4f91-924a-07ae60d830e4", * "_org": "739224", * "_schema": "tax", * "_title": "Tax Without Behaviour", * "_updated_at": "2022-02-07T14:49:08.831Z" * } * } * ], * "unit_amount": 10000, * "unit_amount_net": 10000, * "pricing_model": "per_unit", * "_price": { * "unit_amount": 10000, * "unit_amount_currency": "EUR", * "unit_amount_decimal": "100.00", * "sales_tax": "standard", * "is_tax_inclusive": false, * "price_display_in_journeys": "show_price", * "type": "one_time", * "billing_period": "weekly", * "billing_duration_unit": "months", * "notice_time_unit": "months", * "termination_time_unit": "months", * "renewal_duration_unit": "months", * "_schema": "price", * "_title": "Solar Panel Module", * "description": "Solar Panel Module", * "active": true, * "tax": { * "$relation": [ * { * "entity_id": "24641e82-0690-4135-8b43-ef12a9b1c5dc" * }, * { * "entity_id": "24641e82-0690-4135-8b43-ef12a9b1c5dc" * } * ] * }, * "_id": "7e24ff5d-d580-4136-a32f-19191eed039a", * "_org": "728", * "_created_at": "2022-06-03T16:04:10.369Z", * "_updated_at": "2022-06-03T16:04:10.369Z", * "pricing_model": "per_unit" * }, * "_product": { * "name": "Cool box", * "type": "product", * "_id": "73f857a4-0fbc-4aa6-983f-87c0d6d410a6", * "_title": "Cool box" * } * } */ PriceItem | /** * Represents a composite price input to the pricing library. * example: * { * "amount_subtotal": 10000, * "amount_total": 10600, * "currency": "EUR", * "description": "Annual internet service", * "price_id": "7e24ff5d-d580-4136-a32f-19191eed039a", * "product_id": "6241487f-b7fd-428b-ab92-24ee0b37fd84", * "taxes": [ * { * "amount": 600, * "tax": { * "active": true, * "description": "Without Behaviour", * "rate": 6, * "region": "DE", * "type": "VAT", * "_created_at": "2022-02-07T14:49:08.831Z", * "_id": "18bbbc2e-2c37-4f91-924a-07ae60d830e4", * "_org": "739224", * "_schema": "tax", * "_title": "Tax Without Behaviour", * "_updated_at": "2022-02-07T14:49:08.831Z" * } * } * ], * "unit_amount": 10000, * "unit_amount_net": 10000, * "pricing_model": "per_unit", * "_price": { * "unit_amount": 10000, * "unit_amount_currency": "EUR", * "unit_amount_decimal": "100.00", * "sales_tax": "standard", * "is_tax_inclusive": false, * "price_display_in_journeys": "show_price", * "type": "one_time", * "billing_period": "weekly", * "billing_duration_unit": "months", * "notice_time_unit": "months", * "termination_time_unit": "months", * "renewal_duration_unit": "months", * "_schema": "price", * "_title": "Solar Panel Module", * "description": "Solar Panel Module", * "active": true, * "tax": { * "$relation": [ * { * "entity_id": "24641e82-0690-4135-8b43-ef12a9b1c5dc" * } * ] * }, * "_id": "7e24ff5d-d580-4136-a32f-19191eed039a", * "_org": "728", * "_created_at": "2022-06-03T16:04:10.369Z", * "_updated_at": "2022-06-03T16:04:10.369Z", * "pricing_model": "per_unit" * }, * "_product": { * "name": "Cool box", * "type": "product", * "_id": "73f857a4-0fbc-4aa6-983f-87c0d6d410a6", * "_title": "Cool box" * } * } */ CompositePriceItem)[]; /** * Total of all items before (discounts or) taxes are applied. */ amount_subtotal?: number; /** * Total of all items after (discounts and) taxes are applied. */ amount_total?: number; /** * The unit gross amount value. */ unit_amount_gross?: number; /** * The unit net amount value. */ unit_amount_net?: number; /** * This is the sum of all the price item tax amounts. */ amount_tax?: number; total_details?: /* The total details with tax (and discount) aggregated totals. */ TotalDetails; currency?: /** * Three-letter ISO currency code, in lowercase. Must be a supported currency. * ISO 4217 CURRENCY CODES as specified in the documentation: https://www.iso.org/iso-4217-currency-codes.html * * example: * EUR */ Currency; redeemed_promos?: RedeemedPromo[]; } /** * The result from the calculation of a set of price items. */ export interface PricingDetailsResponse { items?: (/** * Represents a price item * example: * { * "amount_subtotal": 10000, * "amount_total": 10600, * "currency": "EUR", * "description": "Annual internet service", * "price_id": "7e24ff5d-d580-4136-a32f-19191eed039a", * "product_id": "6241487f-b7fd-428b-ab92-24ee0b37fd84", * "taxes": [ * { * "amount": 600, * "tax": { * "active": true, * "description": "Without Behaviour", * "rate": 6, * "region": "DE", * "type": "VAT", * "_created_at": "2022-02-07T14:49:08.831Z", * "_id": "18bbbc2e-2c37-4f91-924a-07ae60d830e4", * "_org": "739224", * "_schema": "tax", * "_title": "Tax Without Behaviour", * "_updated_at": "2022-02-07T14:49:08.831Z" * } * }, * { * "amount": 600, * "tax": { * "active": true, * "description": "Without Behaviour", * "rate": 6, * "region": "DE", * "type": "VAT", * "_created_at": "2022-02-07T14:49:08.831Z", * "_id": "18bbbc2e-2c37-4f91-924a-07ae60d830e4", * "_org": "739224", * "_schema": "tax", * "_title": "Tax Without Behaviour", * "_updated_at": "2022-02-07T14:49:08.831Z" * } * } * ], * "unit_amount": 10000, * "unit_amount_net": 10000, * "pricing_model": "per_unit", * "_price": { * "unit_amount": 10000, * "unit_amount_currency": "EUR", * "unit_amount_decimal": "100.00", * "sales_tax": "standard", * "is_tax_inclusive": false, * "price_display_in_journeys": "show_price", * "type": "one_time", * "billing_period": "weekly", * "billing_duration_unit": "months", * "notice_time_unit": "months", * "termination_time_unit": "months", * "renewal_duration_unit": "months", * "_schema": "price", * "_title": "Solar Panel Module", * "description": "Solar Panel Module", * "active": true, * "tax": { * "$relation": [ * { * "entity_id": "24641e82-0690-4135-8b43-ef12a9b1c5dc" * }, * { * "entity_id": "24641e82-0690-4135-8b43-ef12a9b1c5dc" * } * ] * }, * "_id": "7e24ff5d-d580-4136-a32f-19191eed039a", * "_org": "728", * "_created_at": "2022-06-03T16:04:10.369Z", * "_updated_at": "2022-06-03T16:04:10.369Z", * "pricing_model": "per_unit" * }, * "_product": { * "name": "Cool box", * "type": "product", * "_id": "73f857a4-0fbc-4aa6-983f-87c0d6d410a6", * "_title": "Cool box" * } * } */ PriceItem | /** * Represents a composite price input to the pricing library. * example: * { * "amount_subtotal": 10000, * "amount_total": 10600, * "currency": "EUR", * "description": "Annual internet service", * "price_id": "7e24ff5d-d580-4136-a32f-19191eed039a", * "product_id": "6241487f-b7fd-428b-ab92-24ee0b37fd84", * "taxes": [ * { * "amount": 600, * "tax": { * "active": true, * "description": "Without Behaviour", * "rate": 6, * "region": "DE", * "type": "VAT", * "_created_at": "2022-02-07T14:49:08.831Z", * "_id": "18bbbc2e-2c37-4f91-924a-07ae60d830e4", * "_org": "739224", * "_schema": "tax", * "_title": "Tax Without Behaviour", * "_updated_at": "2022-02-07T14:49:08.831Z" * } * } * ], * "unit_amount": 10000, * "unit_amount_net": 10000, * "pricing_model": "per_unit", * "_price": { * "unit_amount": 10000, * "unit_amount_currency": "EUR", * "unit_amount_decimal": "100.00", * "sales_tax": "standard", * "is_tax_inclusive": false, * "price_display_in_journeys": "show_price", * "type": "one_time", * "billing_period": "weekly", * "billing_duration_unit": "months", * "notice_time_unit": "months", * "termination_time_unit": "months", * "renewal_duration_unit": "months", * "_schema": "price", * "_title": "Solar Panel Module", * "description": "Solar Panel Module", * "active": true, * "tax": { * "$relation": [ * { * "entity_id": "24641e82-0690-4135-8b43-ef12a9b1c5dc" * } * ] * }, * "_id": "7e24ff5d-d580-4136-a32f-19191eed039a", * "_org": "728", * "_created_at": "2022-06-03T16:04:10.369Z", * "_updated_at": "2022-06-03T16:04:10.369Z", * "pricing_model": "per_unit" * }, * "_product": { * "name": "Cool box", * "type": "product", * "_id": "73f857a4-0fbc-4aa6-983f-87c0d6d410a6", * "_title": "Cool box" * } * } */ CompositePriceItem)[]; /** * Total of all items before (discounts or) taxes are applied. */ amount_subtotal?: number; /** * Total of all items after (discounts and) taxes are applied. */ amount_total?: number; /** * The unit gross amount value. */ unit_amount_gross?: number; /** * The unit net amount value. */ unit_amount_net?: number; /** * This is the sum of all the price item tax amounts. */ amount_tax?: number; total_details?: /* The total details with tax (and discount) aggregated totals. */ TotalDetails; currency?: /** * Three-letter ISO currency code, in lowercase. Must be a supported currency. * ISO 4217 CURRENCY CODES as specified in the documentation: https://www.iso.org/iso-4217-currency-codes.html * * example: * EUR */ Currency; redeemed_promos?: RedeemedPromo[]; } /** * Describes how to compute the price per period. Either `per_unit`, `tiered_graduated` or `tiered_volume`. * - `per_unit` indicates that the fixed amount (specified in unit_amount or unit_amount_decimal) will be charged per unit in quantity * - `tiered_graduated` indicates that the unit pricing will be computed using tiers attribute. The customer pays the price per unit in every range their purchase rises through. * - `tiered_volume` indicates that the unit pricing will be computed using tiers attribute. The customer pays the same unit price for all purchased units. * - `tiered_flatfee` While similar to tiered_volume, tiered flat fee charges for the same price (flat) for the entire range instead using the unit price to multiply the quantity. * - `dynamic_tariff` indicates that the price is dynamically dependend on the (quarter)-hourly spot market price. * - `external_getag` indicates that the price is influenced by aquisition fees provided by GetAG. * */ export type PricingModel = "per_unit" | "tiered_graduated" | "tiered_volume" | "tiered_flatfee" | "dynamic_tariff" | "external_getag"; /** * The product entity * example: * { * "type": "product", * "_schema": "product", * "_title": "Solar Panel with Battery Storage", * "name": "Solar Panel with Battery Storage", * "code": "SOLAR-BATT", * "active": true, * "description": "Solar Panel with battery solution, optimized for max efficiency. ", * "feature": [ * { * "_tags": [], * "feature": "Eco-Panels" * }, * { * "_tags": [], * "feature": "Remote Management Platform" * }, * { * "_tags": [], * "feature": "Battery Remote Control" * }, * { * "_tags": [], * "feature": "Mobile App" * } * ], * "cross_sellable_products": { * "$relation": [ * { * "entity_id": "068d0713-a650-4668-9ed2-eca7be31e337", * "_schema": "product", * "_tags": [] * }, * { * "entity_id": "c8402ee7-fba9-4f3d-bffd-6803ca655782", * "_tags": [] * } * ] * }, * "product_images": { * "$relation": [ * { * "entity_id": "37bdeaaa-65fe-403e-9894-65b01cd277f1" * }, * { * "entity_id": "56dde657-795c-41bb-bf53-98fd586b7e6e" * } * ] * }, * "product_downloads": { * "$relation": [ * { * "entity_id": "64211361-8759-414b-81c0-afbf24f83aa9" * } * ] * }, * "_id": "a7f4771a-6368-4d77-bb01-71f1e4902de5", * "_org": "728", * "_created_at": "2022-06-03T15: 52: 27.512Z", * "_updated_at": "2022-06-03T16: 05: 15.029Z", * "price_options": { * "$relation": [ * { * "entity_id": "9c36c23b-1574-4193-beff-b1b5e1124bc7", * "_tags": [] * }, * { * "entity_id": "146aa2cc-f267-4d5e-bda4-cbe2669b7741", * "_tags": [] * } * ] * } * } */ export interface Product { [name: string]: any; /** * The description for the product */ description?: string; /** * The product code */ code?: string; /** * The type of Product: * * | type | description | * |----| ----| * | `product` | Represents a physical good | * | `service` | Represents a service or virtual product | * */ type?: "product" | "service"; /** * The product main name */ name?: string; /** * The product categories */ categories?: string[]; feature?: { /** * An arbitrary set of tags attached to a feature */ _tags?: string[]; feature?: string; }[]; /** * Stores references to products that can be cross sold with the current product. */ cross_sellable_products?: { $relation?: EntityRelation[]; }; /** * Stores references to a set of file images of the product */ product_images?: /* Stores references to a set of file images of the product */ { $relation?: EntityRelation[]; } | File[]; /** * Stores references to a set of files downloadable from the product. * e.g: tech specifications, quality control sheets, privacy policy agreements * */ product_downloads?: /** * Stores references to a set of files downloadable from the product. * e.g: tech specifications, quality control sheets, privacy policy agreements * */ { $relation?: EntityRelation[]; } | File[]; /** * A set of [prices](/api/pricing#tag/simple_price_schema) or [composite prices](/api/pricing#tag/dynamic_price_schema) for the current product. */ price_options?: { $relation?: EntityRelation[]; }; /** * Stores references to the availability files that define where this product is available. * These files are used when interacting with products via epilot Journeys, thought the AvailabilityCheck block. * */ _availability_files?: File[]; /** * The product id */ _id?: string; /** * The autogenerated product title */ _title?: string; /** * The organization id the product belongs to */ _org_id?: string; /** * The product creation date */ _created_at?: string; /** * The product last update date */ _updated_at?: string; } export type ProductCategory = "power" | "gas"; /** * example: * { * "_id": "73f857a4-0fbc-4aa6-983f-87c0d6d410a6", * "_title": "Cool box", * "_org": "728", * "_schema": "order", * "_created_at": "2022-06-03T16:04:10.000Z", * "_updated_at": "2022-06-03T16:04:10.000Z", * "amount_subtotal": 10000, * "amount_total": 10600, * "currency": "EUR", * "description": "Annual internet service", * "price_id": "7e24ff5d-d580-4136-a32f-19191eed039a", * "product_id": "6241487f-b7fd-428b-ab92-24ee0b37fd84", * "taxes": [ * { * "amount": 600, * "tax": { * "active": true, * "description": "Without Behaviour", * "rate": 6, * "region": "DE", * "type": "VAT", * "_created_at": "2022-02-07T14:49:08.831Z", * "_id": "18bbbc2e-2c37-4f91-924a-07ae60d830e4", * "_org": "739224", * "_schema": "tax", * "_title": "Tax Without Behaviour", * "_updated_at": "2022-02-07T14:49:08.831Z" * } * } * ], * "unit_amount": 10000, * "unit_amount_net": 10000, * "pricing_model": "per_unit", * "_price": { * "_id": "7e24ff5d-d580-4136-a32f-19191eed039a", * "unit_amount": 10000, * "unit_amount_currency": "EUR", * "unit_amount_decimal": "100.00", * "sales_tax": "standard", * "is_tax_inclusive": false, * "price_display_in_journeys": "show_price", * "type": "one_time", * "billing_period": "weekly", * "billing_duration_unit": "months", * "notice_time_unit": "months", * "termination_time_unit": "months", * "renewal_duration_unit": "months", * "_schema": "price", * "_title": "Solar Panel Module", * "description": "Solar Panel Module", * "active": true, * "tax": { * "$relation": [ * { * "entity_id": "24641e82-0690-4135-8b43-ef12a9b1c5dc" * } * ] * }, * "_org": "728", * "_created_at": "2022-06-03T16:04:10.369Z", * "_updated_at": "2022-06-03T16:04:10.369Z", * "pricing_model": "per_unit" * }, * "_product": { * "name": "Cool box", * "type": "product", * "_id": "73f857a4-0fbc-4aa6-983f-87c0d6d410a6", * "_title": "Cool box" * } * } */ export interface ProductRecommendation { _id: EntityId /* uuid */; /** * Title of entity */ _title: string; /** * Organization Id the entity belongs to */ _org: string; _schema: string; _tags?: string[]; _created_at: string; // date-time _updated_at: string; // date-time /** * Price being used as source */ source_price?: { $relation?: EntityRelation[]; }; /** * Product being used as source */ source_product?: { $relation?: EntityRelation[]; }; /** * Type of product recommendation */ type?: "change" | "cross-sell" | "up-sell"; offers?: Offer[]; } /** * Product recommendations request payload */ export interface ProductRecommendationResponse { /** * The number of results returned. */ hits: number; results: /** * example: * { * "_id": "73f857a4-0fbc-4aa6-983f-87c0d6d410a6", * "_title": "Cool box", * "_org": "728", * "_schema": "order", * "_created_at": "2022-06-03T16:04:10.000Z", * "_updated_at": "2022-06-03T16:04:10.000Z", * "amount_subtotal": 10000, * "amount_total": 10600, * "currency": "EUR", * "description": "Annual internet service", * "price_id": "7e24ff5d-d580-4136-a32f-19191eed039a", * "product_id": "6241487f-b7fd-428b-ab92-24ee0b37fd84", * "taxes": [ * { * "amount": 600, * "tax": { * "active": true, * "description": "Without Behaviour", * "rate": 6, * "region": "DE", * "type": "VAT", * "_created_at": "2022-02-07T14:49:08.831Z", * "_id": "18bbbc2e-2c37-4f91-924a-07ae60d830e4", * "_org": "739224", * "_schema": "tax", * "_title": "Tax Without Behaviour", * "_updated_at": "2022-02-07T14:49:08.831Z" * } * } * ], * "unit_amount": 10000, * "unit_amount_net": 10000, * "pricing_model": "per_unit", * "_price": { * "_id": "7e24ff5d-d580-4136-a32f-19191eed039a", * "unit_amount": 10000, * "unit_amount_currency": "EUR", * "unit_amount_decimal": "100.00", * "sales_tax": "standard", * "is_tax_inclusive": false, * "price_display_in_journeys": "show_price", * "type": "one_time", * "billing_period": "weekly", * "billing_duration_unit": "months", * "notice_time_unit": "months", * "termination_time_unit": "months", * "renewal_duration_unit": "months", * "_schema": "price", * "_title": "Solar Panel Module", * "description": "Solar Panel Module", * "active": true, * "tax": { * "$relation": [ * { * "entity_id": "24641e82-0690-4135-8b43-ef12a9b1c5dc" * } * ] * }, * "_org": "728", * "_created_at": "2022-06-03T16:04:10.369Z", * "_updated_at": "2022-06-03T16:04:10.369Z", * "pricing_model": "per_unit" * }, * "_product": { * "name": "Cool box", * "type": "product", * "_id": "73f857a4-0fbc-4aa6-983f-87c0d6d410a6", * "_title": "Cool box" * } * } */ ProductRecommendation[]; } /** * Product recommendations request payload */ export interface ProductRecommendationSearch { product_recommendation_ids?: string[]; /** * The catalog item to be used as source for the recommendation */ catalog_item?: { /** * Product id */ product_id?: string; /** * Product id */ price_id?: string; }; /** * The contract id to be used as source for the recommendation */ contract_id?: string; filters?: /* Availability filters dimensions */ AvailabilityFilters; } /** * example: * { * "id": "123e4567-e89b-12d3-a456-426614174000", * "code": "123456", * "has_usage_limit": true, * "usage_limit": 10 * } */ export interface PromoCode { /** * The id of the promo code */ id: string; /** * The code of the promo code */ code: string; /** * Whether the promo code has a usage limit */ has_usage_limit?: boolean; /** * The usage limit of the promo code */ usage_limit?: number | null; } /** * The result from the validation of a set of promo codes. */ export interface PromoCodeValidationResponse { matched_coupons?: /** * The base for the coupon entity without promo codes * example: * { * "_id": "123e4567-e89b-12d3-a456-426614174000", * "_schema": "coupon", * "_org": "org_12345", * "_created_at": "2024-01-15T10:00:00.000Z", * "_updated_at": "2024-01-20T12:00:00.000Z", * "_title": "Sample Coupon", * "name": "Sample Coupon", * "type": "fixed", * "fixed_value": 555, * "fixed_value_currency": "USD", * "fixed_value_decimal": "5.55", * "active": true, * "category": "cashback", * "prices": { * "$relation": [ * { * "entity_id": "abc12345-def6-7890-gh12-ijklmnopqrst", * "_tags": [ * "discount", * "special" * ], * "_schema": "price" * } * ] * } * } */ CouponWithoutPromoCodes[]; } /** * The provider entity */ export interface Provider { /** * The provider name */ name: string; /** * The provider code */ code: string; /** * The type of product */ type: "gas" | "power"; additionalData: /* Additional data included in the provider entity */ AdditionalProviderData; _meta?: /* Signature meta data payload */ SignatureMeta; } /** * An amount associated with a specific recurrence. */ export interface RecurrenceAmount { /** * Total of all items before (discounts or) taxes are applied. */ amount_subtotal: number; /** * Total of all items before (discounts or) taxes are applied, as a string with all the decimal places. */ amount_subtotal_decimal: string; /** * Total of all items after (discounts and) taxes are applied. */ amount_total: number; /** * Total of all items after (discounts and) taxes are applied, as a string with all the decimal places. */ amount_total_decimal: string; /** * The cashback amount. */ cashback_amount?: number; /** * The cashback amount as a string with all the decimal places. */ cashback_amount_decimal?: string; cashback_period?: /* The cashback period, for now it's limited to either 0 months or 12 months */ CashbackPeriod; /** * Total amount after cashback is applied. */ after_cashback_amount_total?: number; /** * Total amount after cashback is applied as a string with all the decimal places. */ after_cashback_amount_total_decimal?: string; /** * The discount amount. */ discount_amount?: number; /** * The discount amount as a string with all the decimal places. */ discount_amount_decimal?: string; /** * The discount percentage, if the applied coupon had a percentage type. */ discount_percentage?: number; /** * Total amount before discount is applied. */ before_discount_amount_total?: number; /** * Total amount before discount is applied as a string with all the decimal places. */ before_discount_amount_total_decimal?: string; /** * Total amount before discount is applied, excluding taxes. */ before_discount_amount_subtotal?: number; /** * Total amount before discount is applied, excluding taxes, as a string with all the decimal places. */ before_discount_amount_subtotal_decimal?: string; /** * The price type. */ type?: string; /** * The price billing period. */ billing_period?: /* The price billing period. */ BillingPeriod; /** * The unit gross amount value. */ unit_amount_gross?: number; /** * The unit net amount value. */ unit_amount_net?: number; /** * Total of all items taxes, with same recurrence. */ amount_tax?: number; /** * Total of all items taxes, with same recurrence, as a string with all the decimal places. */ amount_tax_decimal?: string; currency?: /** * Three-letter ISO currency code, in lowercase. Must be a supported currency. * ISO 4217 CURRENCY CODES as specified in the documentation: https://www.iso.org/iso-4217-currency-codes.html * * example: * EUR */ Currency; } /** * An amount associated with a specific recurrence. */ export interface RecurrenceAmountDto { /** * Total of all items before (discounts or) taxes are applied. */ amount_subtotal: number; /** * Total of all items before (discounts or) taxes are applied, as a string with all the decimal places. */ amount_subtotal_decimal: string; /** * Total of all items after (discounts and) taxes are applied. */ amount_total: number; /** * Total of all items after (discounts and) taxes are applied, as a string with all the decimal places. */ amount_total_decimal: string; /** * The cashback amount. */ cashback_amount?: number; /** * The cashback amount as a string with all the decimal places. */ cashback_amount_decimal?: string; cashback_period?: /* The cashback period, for now it's limited to either 0 months or 12 months */ CashbackPeriod; /** * Total amount after cashback is applied. */ after_cashback_amount_total?: number; /** * Total amount after cashback is applied as a string with all the decimal places. */ after_cashback_amount_total_decimal?: string; /** * The discount amount. */ discount_amount?: number; /** * The discount amount as a string with all the decimal places. */ discount_amount_decimal?: string; /** * The discount percentage, if the applied coupon had a percentage type. */ discount_percentage?: number; /** * Total amount before discount is applied. */ before_discount_amount_total?: number; /** * Total amount before discount is applied as a string with all the decimal places. */ before_discount_amount_total_decimal?: string; /** * Total amount before discount is applied, excluding taxes. */ before_discount_amount_subtotal?: number; /** * Total amount before discount is applied, excluding taxes, as a string with all the decimal places. */ before_discount_amount_subtotal_decimal?: string; /** * The price type. */ type?: string; /** * The price billing period. */ billing_period?: /* The price billing period. */ BillingPeriod; /** * The unit gross amount value. */ unit_amount_gross?: number; /** * The unit net amount value. */ unit_amount_net?: number; /** * Total of all items taxes, with same recurrence. */ amount_tax?: number; } /** * An amount associated with a specific recurrence. */ export interface RecurrenceAmountWithTax { /** * The price type. */ type?: string; /** * The price billing period. */ billing_period?: /* The price billing period. */ BillingPeriod; /** * Total amount of items with same recurrence. */ amount_total: number; /** * Total amount of items with same recurrence, excluding taxes. */ amount_subtotal: number; /** * Total tax amount of items with same recurrence. */ amount_tax?: number; tax?: /* A tax amount associated with a specific tax rate. */ TaxAmountBreakdown; } export interface RedeemedPromo { /** * The promocode inserted by the customer to redeem the promotion */ code: string; /** * The coupons that got redeemed with received the code */ coupons: /** * The base for the coupon entity without promo codes * example: * { * "_id": "123e4567-e89b-12d3-a456-426614174000", * "_schema": "coupon", * "_org": "org_12345", * "_created_at": "2024-01-15T10:00:00.000Z", * "_updated_at": "2024-01-20T12:00:00.000Z", * "_title": "Sample Coupon", * "name": "Sample Coupon", * "type": "fixed", * "fixed_value": 555, * "fixed_value_currency": "USD", * "fixed_value_decimal": "5.55", * "active": true, * "category": "cashback", * "prices": { * "$relation": [ * { * "entity_id": "abc12345-def6-7890-gh12-ijklmnopqrst", * "_tags": [ * "discount", * "special" * ], * "_schema": "price" * } * ] * } * } */ CouponWithoutPromoCodes[]; } export type SalesTax = "nontaxable" | "reduced" | "standard"; export type SaveIntegrationCredentialsParams = /* The auth credentials for external integrations */ IntegrationAuthCredentials; export interface SearchExternalCatalogParams { context: JourneyContext; } export interface SearchExternalCatalogRecommendationsResult { source: /* An external product & price information (already computed) from an external catalog. */ ExternalCatalogItem; offers: /* An external product & price information (already computed) from an external catalog. */ ExternalCatalogItem[]; } export interface SearchExternalCatalogResult { /** * The number of results returned. */ hits: number; results: /* An external product & price information (already computed) from an external catalog. */ ExternalCatalogItem[]; } /** * A search providers payload */ export interface SearchProvidersParams { /** * The provider type (power or gas) */ type: "power" | "gas"; /** * The postal code to search for providers */ postal_code: string; /** * The city to search for providers */ city?: string | null; /** * The street to search for providers */ street?: string | null; /** * The street number to search for providers */ street_number?: string | null; } /** * The search providers payload */ export type SearchProvidersResult = /* The provider entity */ Provider[]; /** * A search streets payload */ export interface SearchStreetsParams { /** * The postal code to search for providers */ postal_code: string; /** * The city to search for providers */ city: string | null; } /** * The search providers payload */ export type SearchStreetsResult = /* The street entity */ Street[]; /** * Signature meta data payload */ export interface SignatureMeta { /** * The signature hash of the payload */ signature: string; /** * Timestamp of the signature */ timestamp: number; } /** * The bidding zone for a spot market price. */ export type SpotMarketBiddingZone = "AT" | "DE-LU"; /** * The aggregation frequency for a series of spot market price data. */ export type SpotMarketDataFrequency = "PT15M" | "PT1H" | "P1D" | "P1M"; /** * The market for a spot market price. */ export type SpotMarketType = "day_ahead"; /** * The street entity */ export interface Street { /** * The street name */ street: string; } export type TariffTypeGetAg = "HT" | "NT"; /** * the tax configuration * example: * { * "rate": 19, * "_title": "Tax Standard", * "_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", * "type": "VAT", * "description": "Tax description", * "active": true, * "region": "DE", * "region_label": "Germany", * "_org": "123", * "_schema": "tax", * "_tags": [ * "example", * "mock" * ], * "_created_at": "2021-02-09T12:41:43.662Z", * "_updated_at": "2021-02-09T12:41:43.662Z" * } */ export interface Tax { [name: string]: any; _id: EntityId /* uuid */; /** * Title of entity */ _title: string; /** * Organization Id the entity belongs to */ _org: string; _schema: string; _tags?: string[]; _created_at: string; // date-time _updated_at: string; // date-time type: "VAT" | "GST" | "Custom"; description?: string; rate: number | null; active?: boolean; region?: string; region_label?: string; } /** * A tax amount associated with a specific tax rate. */ export interface TaxAmount { /** * The tax amount. */ amount?: number; /** * The tax rate applied. With the release of the tax management feature this field is being deprecated in favor of the tax field. */ rate?: string; /** * The tax rate value applied (represented as an integer percentage, e.g, 19 or 7). * With the release of the tax management feature this field is being deprecated in favor of the tax field. * * example: * 19 */ rateValue?: number; /** * The tax applied. */ tax?: /* The tax applied. */ /** * the tax configuration * example: * { * "rate": 19, * "_title": "Tax Standard", * "_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", * "type": "VAT", * "description": "Tax description", * "active": true, * "region": "DE", * "region_label": "Germany", * "_org": "123", * "_schema": "tax", * "_tags": [ * "example", * "mock" * ], * "_created_at": "2021-02-09T12:41:43.662Z", * "_updated_at": "2021-02-09T12:41:43.662Z" * } */ Tax; } /** * A tax amount associated with a specific tax rate. */ export interface TaxAmountBreakdown { /** * The tax amount. */ amount?: number; /** * The tax rate applied. With the release of the tax manager feature this field is being deprecated in favor of the tax field. */ rate?: string; /** * The tax rate value applied. With the release of the tax manager feature this field is being deprecated in favor of the tax field. */ rateValue?: number; tax?: TaxBreakdownInfo; } /** * A valid tax rate from a client. */ export interface TaxAmountDto { /** * The deprecated tax rate applied. * This field has been deprecated in favor of the new Tax Management. You should use the new tax fields pointing to a proper tax entity. * */ rate?: string; tax?: /** * the tax configuration * example: * { * "rate": 19, * "_title": "Tax Standard", * "_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", * "type": "VAT", * "description": "Tax description", * "active": true, * "region": "DE", * "region_label": "Germany", * "_org": "123", * "_schema": "tax", * "_tags": [ * "example", * "mock" * ], * "_created_at": "2021-02-09T12:41:43.662Z", * "_updated_at": "2021-02-09T12:41:43.662Z" * } */ Tax; } export interface TaxBreakdownInfo { rate?: number | null; type?: "VAT" | "GST" | "Custom"; _id?: string; } export interface TierDetails { quantity: number; unit_amount: number; unit_amount_gross: number; unit_amount_net: number; amount_total: number; amount_subtotal: number; amount_tax: number; unit_amount_decimal: string; } /** * The total details with tax (and discount) aggregated totals. */ export interface TotalDetails { /** * This is the sum of all the price item shipping amounts. */ amount_shipping?: number; /** * This is the sum of all the price item tax amounts. */ amount_tax?: number; /** * Breakdown of individual tax (and discount) amounts that add up to the totals. */ breakdown?: { /** * The aggregated price items tax amount per rate. */ taxes?: (/* A tax amount associated with a specific tax rate. */ TaxAmountBreakdown)[]; /** * The aggregated price items tax amount per rate. */ recurrences?: (/* An amount associated with a specific recurrence. */ RecurrenceAmount)[]; /** * The list of cashbacks applied. */ cashbacks?: (/* A detail associated with a specific cashback. */ CashbackAmount)[]; /** * The aggregated price items recurrences by tax rate */ recurrencesByTax?: (/* An amount associated with a specific recurrence. */ RecurrenceAmountWithTax)[]; }; } export type TypeGetAg = "base_price" | "work_price"; /** * The availability rule error */ export interface ValidateAvailabilityFileError { /** * The line number where the error was found */ line?: number; /** * The error message */ msg: string; /** * Data related to the error */ data?: string; } /** * The availability map file result payload * example: * { * "status": "success", * "rules_parsed_count": 10, * "errors": [] * } */ export interface ValidateAvailabilityFileResult { /** * The status of the validation */ status: "success" | "error"; /** * The number of rules successfully parsed */ rules_parsed_count: number; /** * The errors found on the file */ errors: /* The availability rule error */ ValidateAvailabilityFileError[]; } } } declare namespace Paths { namespace $AvailabilityCheck { export interface HeaderParameters { "X-Ivy-Org-ID": Parameters.XIvyOrgID; } namespace Parameters { export type XIvyOrgID = string; } export type RequestBody = /* Availability check request payload */ Components.Schemas.AvailabilityCheckParams; namespace Responses { export type $200 = /** * The product availability check result payload * example: * { * "available_products": [], * "check_results": [ * { * "product_id": "my-product-id-123-1", * "matching_hits": 0 * }, * { * "product_id": "my-product-id-123-2", * "matching_hits": 0 * } * ] * } */ Components.Schemas.AvailabilityResult; export type $400 = Components.Schemas.Error; } } namespace $AverageMarketPrice { namespace Parameters { export type BiddingZone = /* The bidding zone for a spot market price. */ Components.Schemas.SpotMarketBiddingZone; export type From = string /* date */ | string /* date-time */; export type Market = /* The market for a spot market price. */ Components.Schemas.SpotMarketType; export type To = string /* date */ | string /* date-time */; } export interface QueryParameters { market: Parameters.Market; bidding_zone: Parameters.BiddingZone; from: Parameters.From; to: Parameters.To; } namespace Responses { export type $200 = Components.Schemas.AverageMarketPriceResult; export type $400 = Components.Schemas.Error; export type $404 = Components.Schemas.Error; } } namespace $CalculatePricingDetails { export interface RequestBody { line_items?: /* A valid set of product prices, quantities, (discounts) and taxes from a client. */ Components.Schemas.PriceItemsDto; redeemed_promos?: Components.Schemas.RedeemedPromo[]; } namespace Responses { export type $200 = /* The result from the calculation of a set of price items. */ Components.Schemas.PricingDetailsResponse; export type $400 = Components.Schemas.Error; } } namespace $CheckoutCart { export interface HeaderParameters { "X-Ivy-Org-ID": Parameters.XIvyOrgID; } namespace Parameters { export type XIvyOrgID = string; } export type RequestBody = /* The cart checkout request payload */ Components.Schemas.CheckoutCart; namespace Responses { export type $200 = /* The cart checkout result */ Components.Schemas.CheckoutCartResult; export type $400 = Components.Schemas.Error; } } namespace $ComputePrice { export interface HeaderParameters { "X-Epilot-Org-ID": Parameters.XEpilotOrgID; } namespace Parameters { export type IntegrationId = Components.Schemas.IntegrationId; export type XEpilotOrgID = string; } export interface PathParameters { integrationId: Parameters.IntegrationId; } export type RequestBody = /* The compute price payload */ Components.Schemas.ComputePriceParams; namespace Responses { export type $200 = Components.Schemas.ComputePriceResult; export type $400 = Components.Schemas.Error; export type $403 = Components.Schemas.Error; } } namespace $DeleteCredentials { namespace Parameters { export type IntegrationId = Components.Schemas.IntegrationId; } export interface PathParameters { integrationId: Parameters.IntegrationId; } namespace Responses { export interface $204 { } export type $400 = Components.Schemas.Error; } } namespace $GetCredentials { namespace Parameters { export type IntegrationId = Components.Schemas.IntegrationId; } export interface PathParameters { integrationId: Parameters.IntegrationId; } namespace Responses { export type $200 = Components.Schemas.IntegrationCredentialsResult; export type $400 = Components.Schemas.Error; export type $404 = Components.Schemas.Error; } } namespace $GetExternalCatalogProductRecommendations { export interface HeaderParameters { "x-epilot-org-id"?: Parameters.XEpilotOrgId; } namespace Parameters { export type XEpilotOrgId = string; } export type RequestBody = /** * The request payload for the external catalog service. * example: * { * "config": { * "appId": "1234567890", * "componentId": "1234567890", * "hookId": "1234567890" * }, * "origin": "journey", * "context": { * "journey_id": "8d0a2235-97ce-42d0-88a3-e374634ca44e", * "entity_id": "9e1b3346-a8df-53e1-99b4-f485745db55f", * "journey_name": "Product Selection Journey", * "journey_tags": [ * "electricity", * "residential" * ], * "journey_url_params": { * "utm_source": "google", * "utm_campaign": "spring2024" * }, * "current_step_name": "Product Selection", * "current_block_name": "Energy Products", * "steps_data": [ * { * "step_name": "Address Information", * "step_index": 0, * "blocks": { * "Adresse": { * "countryCode": "DE", * "city": "Koblenz", * "zipCode": "56068", * "streetName": "Am Alten Hospital", * "houseNumber": "123" * } * } * } * ] * } * } */ Components.Schemas.ExternalCatalogRequest; namespace Responses { export type $200 = Components.Schemas.SearchExternalCatalogRecommendationsResult; export type $400 = Components.Schemas.Error; export type $403 = Components.Schemas.Error; } } namespace $GetExternalCatalogProducts { export interface HeaderParameters { "x-epilot-org-id"?: Parameters.XEpilotOrgId; } namespace Parameters { export type XEpilotOrgId = string; } export type RequestBody = /** * The request payload for the external catalog service. * example: * { * "config": { * "appId": "1234567890", * "componentId": "1234567890", * "hookId": "1234567890" * }, * "origin": "journey", * "context": { * "journey_id": "8d0a2235-97ce-42d0-88a3-e374634ca44e", * "entity_id": "9e1b3346-a8df-53e1-99b4-f485745db55f", * "journey_name": "Product Selection Journey", * "journey_tags": [ * "electricity", * "residential" * ], * "journey_url_params": { * "utm_source": "google", * "utm_campaign": "spring2024" * }, * "current_step_name": "Product Selection", * "current_block_name": "Energy Products", * "steps_data": [ * { * "step_name": "Address Information", * "step_index": 0, * "blocks": { * "Adresse": { * "countryCode": "DE", * "city": "Koblenz", * "zipCode": "56068", * "streetName": "Am Alten Hospital", * "houseNumber": "123" * } * } * } * ] * } * } */ Components.Schemas.ExternalCatalogRequest; namespace Responses { export type $200 = Components.Schemas.SearchExternalCatalogResult; export type $400 = Components.Schemas.Error; export type $403 = Components.Schemas.Error; } } namespace $HistoricMarketPrices { namespace Parameters { export type BiddingZone = /* The bidding zone for a spot market price. */ Components.Schemas.SpotMarketBiddingZone; export type Frequency = /* The aggregation frequency for a series of spot market price data. */ Components.Schemas.SpotMarketDataFrequency; export type From = string /* date */ | string /* date-time */; export type Market = /* The market for a spot market price. */ Components.Schemas.SpotMarketType; export type To = string /* date */ | string /* date-time */; } export interface QueryParameters { market: Parameters.Market; bidding_zone: Parameters.BiddingZone; frequency: Parameters.Frequency; from: Parameters.From; to: Parameters.To; } namespace Responses { export type $200 = Components.Schemas.HistoricMarketPricesResult; export type $400 = Components.Schemas.Error; export type $404 = Components.Schemas.Error; } } namespace $PrivateSearchCatalog { export type RequestBody = /** * A catalog search payload * example: * { * "q": "_id:1233432 OR _id:123432454 OR _id:23445433", * "sort": "description ASC", * "from": 0, * "size": 200 * } */ Components.Schemas.CatalogSearch; namespace Responses { export type $200 = /** * The query result payload * example: * { * "hits": 2, * "results": [ * { * "schema": "product", * "description": "product a" * }, * { * "schema": "price", * "unit_amount_decimal": "124.342343434" * } * ] * } */ Components.Schemas.CatalogSearchResult; export type $400 = Components.Schemas.Error; } } namespace $ProductRecommendations { export interface HeaderParameters { "X-Ivy-Org-ID"?: Parameters.XIvyOrgID; } namespace Parameters { export type XIvyOrgID = string; } export type RequestBody = /* Product recommendations request payload */ Components.Schemas.ProductRecommendationSearch; namespace Responses { export type $200 = /* Product recommendations request payload */ Components.Schemas.ProductRecommendationResponse; export type $400 = Components.Schemas.Error; } } namespace $SaveCredentials { namespace Parameters { export type IntegrationId = Components.Schemas.IntegrationId; } export interface PathParameters { integrationId: Parameters.IntegrationId; } export type RequestBody = Components.Schemas.SaveIntegrationCredentialsParams; namespace Responses { export interface $204 { } export type $400 = Components.Schemas.Error; } } namespace $SearchCatalog { export interface HeaderParameters { "X-Ivy-Org-ID"?: Parameters.XIvyOrgID; Authorization?: Parameters.Authorization; } namespace Parameters { export type Authorization = string; export type XIvyOrgID = string; } export type RequestBody = /** * A catalog search payload * example: * { * "q": "_id:1233432 OR _id:123432454 OR _id:23445433", * "sort": "description ASC", * "from": 0, * "size": 200 * } */ Components.Schemas.CatalogSearch; namespace Responses { export type $200 = /** * The query result payload * example: * { * "hits": 2, * "results": [ * { * "schema": "product", * "description": "product a" * }, * { * "schema": "price", * "unit_amount_decimal": "124.342343434" * } * ] * } */ Components.Schemas.CatalogSearchResult; export type $400 = Components.Schemas.Error; } } namespace $SearchExternalProductRecommendations { namespace Parameters { export type IntegrationId = Components.Schemas.IntegrationId; } export interface PathParameters { integrationId: Parameters.IntegrationId; } export type RequestBody = Components.Schemas.SearchExternalCatalogParams; namespace Responses { export type $200 = Components.Schemas.SearchExternalCatalogRecommendationsResult; export type $400 = Components.Schemas.Error; export type $403 = Components.Schemas.Error; } } namespace $SearchExternalProducts { namespace Parameters { export type IntegrationId = Components.Schemas.IntegrationId; } export interface PathParameters { integrationId: Parameters.IntegrationId; } export type RequestBody = Components.Schemas.SearchExternalCatalogParams; namespace Responses { export type $200 = Components.Schemas.SearchExternalCatalogResult; export type $400 = Components.Schemas.Error; export type $403 = Components.Schemas.Error; } } namespace $SearchProviders { export interface HeaderParameters { "X-Epilot-Org-ID": Parameters.XEpilotOrgID; } namespace Parameters { export type IntegrationId = Components.Schemas.IntegrationId; export type XEpilotOrgID = string; } export interface PathParameters { integrationId: Parameters.IntegrationId; } export type RequestBody = /* A search providers payload */ Components.Schemas.SearchProvidersParams; namespace Responses { export type $200 = /* The search providers payload */ Components.Schemas.SearchProvidersResult; export type $400 = Components.Schemas.Error; export type $403 = Components.Schemas.Error; } } namespace $SearchStreets { export interface HeaderParameters { "X-Epilot-Org-ID": Parameters.XEpilotOrgID; } namespace Parameters { export type IntegrationId = Components.Schemas.IntegrationId; export type XEpilotOrgID = string; } export interface PathParameters { integrationId: Parameters.IntegrationId; } export type RequestBody = /* A search streets payload */ Components.Schemas.SearchStreetsParams; namespace Responses { export type $200 = /* The search providers payload */ Components.Schemas.SearchStreetsResult; export type $400 = Components.Schemas.Error; export type $403 = Components.Schemas.Error; } } namespace $ValidateAvailabilityFile { export interface HeaderParameters { "X-Epilot-Org-ID": Parameters.XEpilotOrgID; } namespace Parameters { export type Id = string; export type XEpilotOrgID = string; } export interface PathParameters { id: Parameters.Id; } namespace Responses { export type $200 = /** * The availability map file result payload * example: * { * "status": "success", * "rules_parsed_count": 10, * "errors": [] * } */ Components.Schemas.ValidateAvailabilityFileResult; export type $400 = Components.Schemas.Error; } } namespace $ValidatePromoCodes { export interface HeaderParameters { "X-Ivy-Org-ID": Parameters.XIvyOrgID; } namespace Parameters { export type XIvyOrgID = string; } export interface RequestBody { /** * The list of coupon ids to unlock with promo codes */ coupon_ids?: string[]; /** * The list of promo codes to validate against the coupons */ promo_codes?: string[]; } namespace Responses { export type $200 = /* The result from the validation of a set of promo codes. */ Components.Schemas.PromoCodeValidationResponse; export type $400 = Components.Schemas.Error; } } namespace CreateOrder { export type RequestBody = /* Order Entity Payload */ Components.Schemas.OrderPayload; namespace Responses { export type $201 = /** * The order entity * example: * { * "order_number": "OR 2022/742701", * "status": "quote", * "source": { * "title": "manual", * "href": null * }, * "source_type": "manual", * "_schema": "order", * "_title": "OR 2022/742701", * "expires_at": "2022-06-30T16:17:00.000Z", * "line_items": [ * { * "price_id": "9c36c23b-1574-4193-beff-b1b5e1124bc7", * "product_id": "a7f4771a-6368-4d77-bb01-71f1e4902de5", * "pricing_model": "per_unit", * "is_composite_price": false, * "taxes": [ * { * "tax": { * "_id": "24641e82-0690-4135-8b43-ef12a9b1c5dc", * "rate": 19, * "_schema": "tax", * "_org": "728", * "_created_at": "2021-09-24T15:06:13.859Z", * "_updated_at": "2022-04-04T17:36:15.273Z", * "_title": "Tax Standard", * "type": "VAT", * "active": true, * "region": "DE", * "description": "Standard" * }, * "amount": 255462 * } * ], * "_price": { * "_id": "9c36c23b-1574-4193-beff-b1b5e1124bc7", * "unit_amount": 100000, * "unit_amount_currency": "EUR", * "unit_amount_decimal": "1000", * "sales_tax": "standard", * "is_tax_inclusive": true, * "price_display_in_journeys": "show_price", * "type": "one_time", * "billing_period": "weekly", * "billing_duration_unit": "months", * "notice_time_unit": "months", * "termination_time_unit": "months", * "renewal_duration_unit": "months", * "_schema": "price", * "_title": "Solar Panel Module", * "description": "Solar Panel Module", * "active": true, * "pricing_model": "per_unit", * "is_composite_price": false, * "tax": { * "$relation": [ * { * "entity_id": "24641e82-0690-4135-8b43-ef12a9b1c5dc" * } * ] * }, * "_org": "728", * "_created_at": "2022-06-03T16:04:10.369Z", * "_updated_at": "2022-06-03T16:04:10.369Z" * }, * "_product": { * "_id": "a7f4771a-6368-4d77-bb01-71f1e4902de5", * "type": "product", * "_schema": "product", * "_title": "Solar Panel with Battery Storage", * "name": "Solar Panel with Battery Storage", * "code": "SOLAR-BATT", * "active": true, * "description": "Solar Panel with battery solution, optimized for max efficiency. ", * "feature": [ * { * "_tags": [], * "feature": "Eco-Panels" * }, * { * "_tags": [], * "feature": "Remote Management Platform" * }, * { * "_tags": [], * "feature": "Battery Remote Control" * }, * { * "_tags": [], * "feature": "Mobile App" * } * ], * "cross_sellable_products": { * "$relation": [ * { * "entity_id": "068d0713-a650-4668-9ed2-eca7be31e337", * "_schema": "product", * "_tags": [] * }, * { * "entity_id": "c8402ee7-fba9-4f3d-bffd-6803ca655782", * "_tags": [] * } * ] * }, * "product_images": { * "$relation": [ * { * "entity_id": "37bdeaaa-65fe-403e-9894-65b01cd277f1" * }, * { * "entity_id": "56dde657-795c-41bb-bf53-98fd586b7e6e" * } * ] * }, * "product_downloads": { * "$relation": [ * { * "entity_id": "64211361-8759-414b-81c0-afbf24f83aa9" * } * ] * }, * "_org": "728", * "_created_at": "2022-06-03T15:52:27.512Z", * "_updated_at": "2022-06-03T16:05:15.029Z", * "price_options": { * "$relation": [ * { * "entity_id": "9c36c23b-1574-4193-beff-b1b5e1124bc7", * "_tags": [] * }, * { * "entity_id": "146aa2cc-f267-4d5e-bda4-cbe2669b7741", * "_tags": [] * } * ] * } * }, * "quantity": 16, * "currency": "EUR", * "description": "Solar Panel Module", * "unit_amount": 100000, * "unit_amount_net": 84034, * "amount_subtotal": 1344538, * "amount_total": 1600000 * }, * { * "price_id": "146aa2cc-f267-4d5e-bda4-cbe2669b7741", * "product_id": "a7f4771a-6368-4d77-bb01-71f1e4902de5", * "pricing_model": "per_unit", * "is_composite_price": false, * "taxes": [ * { * "tax": { * "_id": "24641e82-0690-4135-8b43-ef12a9b1c5dc", * "rate": 19, * "_schema": "tax", * "_org": "728", * "_created_at": "2021-09-24T15:06:13.859Z", * "_updated_at": "2022-04-04T17:36:15.273Z", * "_title": "Tax Standard", * "type": "VAT", * "active": true, * "region": "DE", * "description": "Standard" * }, * "amount": 31933 * } * ], * "_price": { * "_id": "146aa2cc-f267-4d5e-bda4-cbe2669b7741", * "unit_amount": 50000, * "unit_amount_currency": "EUR", * "unit_amount_decimal": "500", * "sales_tax": "standard", * "is_tax_inclusive": true, * "price_display_in_journeys": "show_price", * "type": "one_time", * "billing_period": "weekly", * "billing_duration_unit": "months", * "notice_time_unit": "months", * "termination_time_unit": "months", * "renewal_duration_unit": "months", * "_schema": "price", * "_title": "Battery Module 500amps", * "description": "Battery Module 500amps", * "active": true, * "pricing_model": "per_unit", * "is_composite_price": false, * "tax": { * "$relation": [ * { * "entity_id": "24641e82-0690-4135-8b43-ef12a9b1c5dc" * } * ] * }, * "_org": "728", * "_created_at": "2022-06-03T16:05:04.391Z", * "_updated_at": "2022-06-03T16:05:04.391Z" * }, * "_product": { * "_id": "a7f4771a-6368-4d77-bb01-71f1e4902de5", * "type": "product", * "_schema": "product", * "_title": "Solar Panel with Battery Storage", * "name": "Solar Panel with Battery Storage", * "code": "SOLAR-BATT", * "active": true, * "description": "Solar Panel with battery solution, optimized for max efficiency. ", * "feature": [ * { * "_tags": [], * "feature": "Eco-Panels" * }, * { * "_tags": [], * "feature": "Remote Management Platform" * }, * { * "_tags": [], * "feature": "Battery Remote Control" * }, * { * "_tags": [], * "feature": "Mobile App" * } * ], * "cross_sellable_products": { * "$relation": [ * { * "entity_id": "068d0713-a650-4668-9ed2-eca7be31e337", * "_schema": "product", * "_tags": [] * }, * { * "entity_id": "c8402ee7-fba9-4f3d-bffd-6803ca655782", * "_tags": [] * } * ] * }, * "product_images": { * "$relation": [ * { * "entity_id": "37bdeaaa-65fe-403e-9894-65b01cd277f1" * }, * { * "entity_id": "56dde657-795c-41bb-bf53-98fd586b7e6e" * } * ] * }, * "product_downloads": { * "$relation": [ * { * "entity_id": "64211361-8759-414b-81c0-afbf24f83aa9" * } * ] * }, * "_org": "728", * "_created_at": "2022-06-03T15:52:27.512Z", * "_updated_at": "2022-06-03T16:05:15.029Z", * "price_options": { * "$relation": [ * { * "entity_id": "9c36c23b-1574-4193-beff-b1b5e1124bc7", * "_tags": [] * }, * { * "entity_id": "146aa2cc-f267-4d5e-bda4-cbe2669b7741", * "_tags": [] * } * ] * } * }, * "quantity": 4, * "currency": "EUR", * "description": "Battery Module 500amps", * "unit_amount": 50000, * "unit_amount_net": 42017, * "amount_subtotal": 168067, * "amount_total": 200000 * }, * { * "price_id": "d88a8763-3e3d-4fc7-a7a5-2bc9117148bf", * "product_id": "065d6618-cc59-45f4-8e3a-700edf6813c3", * "pricing_model": "per_unit", * "is_composite_price": false, * "_price": { * "_id": "d88a8763-3e3d-4fc7-a7a5-2bc9117148bf", * "unit_amount": 12055, * "type": "recurring", * "billing_period": "monthly", * "billing_duration_amount": 8, * "billing_duration_unit": "years", * "notice_time_amount": 3, * "notice_time_unit": "months", * "termination_time_amount": 2, * "termination_time_unit": "months", * "renewal_duration_amount": 1, * "renewal_duration_unit": "years", * "active": true, * "sales_tax": "reduced", * "is_tax_inclusive": true, * "description": "Monthly", * "billing_scheme": "per_unit", * "_schema": "price", * "_org": "728", * "_created_at": "2021-11-10T14:40:27.695Z", * "_updated_at": "2021-12-14T18:16:33.248Z", * "_title": "Monthly", * "unit_amount_currency": "EUR", * "unit_amount_decimal": "120.55456634", * "pricing_model": "per_unit", * "is_composite_price": false * }, * "_product": { * "_id": "065d6618-cc59-45f4-8e3a-700edf6813c3", * "name": "Smartmeter: Schneider Electric PM5000 LCD Energiemessgerät / 3-phasig", * "code": "1312378123", * "_tags": [ * "wallbox", * "review demo", * "1" * ], * "categories": [ * "Power" * ], * "type": "product", * "active": true, * "feature": [ * { * "_tags": [], * "feature": "Bis zu 11 kW Ladeleistung (5x schneller laden)" * }, * { * "_tags": [], * "feature": "Integrierter MID Zähler für eine kilowattstundengenaue Abrechnung*" * }, * { * "_tags": [], * "feature": "Konfigurierbare Ladeleistung" * }, * { * "_tags": [], * "feature": "Zugangskontrolle über RFID-Karten" * }, * { * "_tags": [], * "feature": "Kommunikation über LAN" * }, * { * "_tags": [], * "feature": "New feature" * } * ], * "_schema": "product", * "_org": "728", * "_created_at": "2021-11-30T11:05:19.484Z", * "_updated_at": "2022-01-13T09:18:29.944Z", * "_title": "Smartmeter: Schneider Electric PM5000 LCD Energiemessgerät / 3-phasig", * "price_options": { * "$relation": [ * { * "entity_id": "5264b089-fc6a-4a91-9a2a-80c673958faa" * }, * { * "entity_id": "d88a8763-3e3d-4fc7-a7a5-2bc9117148bf" * } * ] * }, * "product_images": { * "$relation": [ * { * "entity_id": "16729e60-c527-44ef-93c9-c68b6acf1224" * } * ] * } * }, * "quantity": 1, * "currency": "EUR", * "description": "Monthly", * "unit_amount": 12055, * "unit_amount_net": 11267, * "amount_subtotal": 11267, * "amount_total": 12055, * "taxes": [ * { * "rate": "reduced", * "amount": 789 * } * ] * }, * { * "price_id": "e1ddf75a-d0d1-40b4-a07e-56e292867c88", * "product_id": "5b9f05b7-f0f8-49c2-8a8d-0f8f923d6382", * "pricing_model": "per_unit", * "is_composite_price": false, * "_price": { * "_id": "e1ddf75a-d0d1-40b4-a07e-56e292867c88", * "unit_amount": 9900, * "unit_amount_currency": "EUR", * "unit_amount_decimal": "99", * "sales_tax": "standard", * "is_tax_inclusive": true, * "price_display_in_journeys": "show_price", * "type": "recurring", * "billing_period": "yearly", * "billing_duration_unit": "months", * "notice_time_unit": "months", * "termination_time_unit": "months", * "renewal_duration_unit": "months", * "_schema": "price", * "_title": "Yearly payment", * "description": "Yearly payment", * "active": true, * "pricing_model": "per_unit", * "is_composite_price": false, * "_org": "728", * "_created_at": "2022-02-07T22:58:39.884Z", * "_updated_at": "2022-02-07T22:58:39.884Z" * }, * "_product": { * "_id": "5b9f05b7-f0f8-49c2-8a8d-0f8f923d6382", * "_schema": "product", * "_title": "Yearly Payment Product", * "name": "Yearly Payment Product", * "type": "product", * "active": true, * "price_options": { * "$relation": [ * { * "entity_id": "e1ddf75a-d0d1-40b4-a07e-56e292867c88", * "_tags": [] * } * ] * }, * "_org": "728", * "_created_at": "2022-02-07T22:58:44.162Z", * "_updated_at": "2022-02-08T09:34:08.026Z", * "description": "Hier steht die Produktbeschreibung die sich auf dem Dokument, was generiert wird, gezogen wird." * }, * "quantity": 1, * "currency": "EUR", * "description": "Yearly payment", * "unit_amount": 9900, * "unit_amount_net": 8319, * "amount_subtotal": 8319, * "amount_total": 9900, * "taxes": [ * { * "rate": "standard", * "amount": 1581 * } * ] * } * ], * "amount_subtotal": 1532191, * "amount_total": 1821955, * "total_details": { * "amount_tax": 289764, * "breakdown": { * "taxes": [ * { * "tax": { * "_id": "24641e82-0690-4135-8b43-ef12a9b1c5dc", * "rate": 19, * "_schema": "tax", * "_org": "728", * "_created_at": "2021-09-24T15:06:13.859Z", * "_updated_at": "2022-04-04T17:36:15.273Z", * "_title": "Tax Standard", * "type": "VAT", * "active": true, * "region": "DE", * "description": "Standard" * }, * "amount": 287395 * } * ], * "recurrences": [ * { * "type": "one_time", * "amount_subtotal": 1512605, * "amount_subtotal_decimal": "15126.05", * "amount_total": 1800000, * "amount_total_decimal": "18000.00", * "amount_tax": 287395, * "amount_tax_decimal": "2873.95" * }, * { * "type": "recurring", * "billing_period": "monthly", * "amount_subtotal": 11267, * "amount_subtotal_decimal": "112.67", * "amount_total": 12055, * "amount_total_decimal": "120.55", * "amount_tax": 789, * "amount_tax_decimal": "7.89" * }, * { * "type": "recurring", * "billing_period": "yearly", * "amount_subtotal": 8319, * "amount_subtotal_decimal": "83.19", * "amount_total": 9900, * "amount_total_decimal": "99.00", * "amount_tax": 1581, * "amount_tax_decimal": "15.81" * } * ] * } * }, * "currency": "EUR", * "payment_method": [ * { * "type": "IBAN", * "details": {} * } * ], * "billing_contact": { * "$relation": [ * { * "entity_id": "1834a54e-b68f-4f7f-a98a-fe16f11bc2a5", * "_tags": [] * } * ] * }, * "billing_first_name": "Joao", * "billing_last_name": "Pinho", * "billing_email": "j.pinho@epilot.cloud", * "billing_company_name": "epilot cloud", * "billing_address": [ * { * "_tags": [], * "street": "Im Media Park", * "street_number": "8a", * "postal_code": "52000", * "city": "Cologne", * "country": "DE", * "additional_info": "" * } * ], * "delivery_address": [], * "dates": [ * { * "_tags": [ * "Instalation Date" * ], * "dates": "", * "value": "2022-06-30T16:29:00.000Z" * } * ], * "_id": "4c7c9562-f8f0-4af0-a3a6-6aebc5571a6e", * "_org": "728", * "_created_at": "2022-06-03T16:29:46.303Z", * "_updated_at": "2022-06-03T16:29:46.303Z" * } */ Components.Schemas.Order; export type $400 = Components.Schemas.Error; } } namespace PutOrder { namespace Parameters { export type Id = string; } export interface PathParameters { id: Parameters.Id; } export type RequestBody = /* Order Entity Payload */ Components.Schemas.OrderPayload; namespace Responses { export type $200 = /** * The order entity * example: * { * "order_number": "OR 2022/742701", * "status": "quote", * "source": { * "title": "manual", * "href": null * }, * "source_type": "manual", * "_schema": "order", * "_title": "OR 2022/742701", * "expires_at": "2022-06-30T16:17:00.000Z", * "line_items": [ * { * "price_id": "9c36c23b-1574-4193-beff-b1b5e1124bc7", * "product_id": "a7f4771a-6368-4d77-bb01-71f1e4902de5", * "pricing_model": "per_unit", * "is_composite_price": false, * "taxes": [ * { * "tax": { * "_id": "24641e82-0690-4135-8b43-ef12a9b1c5dc", * "rate": 19, * "_schema": "tax", * "_org": "728", * "_created_at": "2021-09-24T15:06:13.859Z", * "_updated_at": "2022-04-04T17:36:15.273Z", * "_title": "Tax Standard", * "type": "VAT", * "active": true, * "region": "DE", * "description": "Standard" * }, * "amount": 255462 * } * ], * "_price": { * "_id": "9c36c23b-1574-4193-beff-b1b5e1124bc7", * "unit_amount": 100000, * "unit_amount_currency": "EUR", * "unit_amount_decimal": "1000", * "sales_tax": "standard", * "is_tax_inclusive": true, * "price_display_in_journeys": "show_price", * "type": "one_time", * "billing_period": "weekly", * "billing_duration_unit": "months", * "notice_time_unit": "months", * "termination_time_unit": "months", * "renewal_duration_unit": "months", * "_schema": "price", * "_title": "Solar Panel Module", * "description": "Solar Panel Module", * "active": true, * "pricing_model": "per_unit", * "is_composite_price": false, * "tax": { * "$relation": [ * { * "entity_id": "24641e82-0690-4135-8b43-ef12a9b1c5dc" * } * ] * }, * "_org": "728", * "_created_at": "2022-06-03T16:04:10.369Z", * "_updated_at": "2022-06-03T16:04:10.369Z" * }, * "_product": { * "_id": "a7f4771a-6368-4d77-bb01-71f1e4902de5", * "type": "product", * "_schema": "product", * "_title": "Solar Panel with Battery Storage", * "name": "Solar Panel with Battery Storage", * "code": "SOLAR-BATT", * "active": true, * "description": "Solar Panel with battery solution, optimized for max efficiency. ", * "feature": [ * { * "_tags": [], * "feature": "Eco-Panels" * }, * { * "_tags": [], * "feature": "Remote Management Platform" * }, * { * "_tags": [], * "feature": "Battery Remote Control" * }, * { * "_tags": [], * "feature": "Mobile App" * } * ], * "cross_sellable_products": { * "$relation": [ * { * "entity_id": "068d0713-a650-4668-9ed2-eca7be31e337", * "_schema": "product", * "_tags": [] * }, * { * "entity_id": "c8402ee7-fba9-4f3d-bffd-6803ca655782", * "_tags": [] * } * ] * }, * "product_images": { * "$relation": [ * { * "entity_id": "37bdeaaa-65fe-403e-9894-65b01cd277f1" * }, * { * "entity_id": "56dde657-795c-41bb-bf53-98fd586b7e6e" * } * ] * }, * "product_downloads": { * "$relation": [ * { * "entity_id": "64211361-8759-414b-81c0-afbf24f83aa9" * } * ] * }, * "_org": "728", * "_created_at": "2022-06-03T15:52:27.512Z", * "_updated_at": "2022-06-03T16:05:15.029Z", * "price_options": { * "$relation": [ * { * "entity_id": "9c36c23b-1574-4193-beff-b1b5e1124bc7", * "_tags": [] * }, * { * "entity_id": "146aa2cc-f267-4d5e-bda4-cbe2669b7741", * "_tags": [] * } * ] * } * }, * "quantity": 16, * "currency": "EUR", * "description": "Solar Panel Module", * "unit_amount": 100000, * "unit_amount_net": 84034, * "amount_subtotal": 1344538, * "amount_total": 1600000 * }, * { * "price_id": "146aa2cc-f267-4d5e-bda4-cbe2669b7741", * "product_id": "a7f4771a-6368-4d77-bb01-71f1e4902de5", * "pricing_model": "per_unit", * "is_composite_price": false, * "taxes": [ * { * "tax": { * "_id": "24641e82-0690-4135-8b43-ef12a9b1c5dc", * "rate": 19, * "_schema": "tax", * "_org": "728", * "_created_at": "2021-09-24T15:06:13.859Z", * "_updated_at": "2022-04-04T17:36:15.273Z", * "_title": "Tax Standard", * "type": "VAT", * "active": true, * "region": "DE", * "description": "Standard" * }, * "amount": 31933 * } * ], * "_price": { * "_id": "146aa2cc-f267-4d5e-bda4-cbe2669b7741", * "unit_amount": 50000, * "unit_amount_currency": "EUR", * "unit_amount_decimal": "500", * "sales_tax": "standard", * "is_tax_inclusive": true, * "price_display_in_journeys": "show_price", * "type": "one_time", * "billing_period": "weekly", * "billing_duration_unit": "months", * "notice_time_unit": "months", * "termination_time_unit": "months", * "renewal_duration_unit": "months", * "_schema": "price", * "_title": "Battery Module 500amps", * "description": "Battery Module 500amps", * "active": true, * "pricing_model": "per_unit", * "is_composite_price": false, * "tax": { * "$relation": [ * { * "entity_id": "24641e82-0690-4135-8b43-ef12a9b1c5dc" * } * ] * }, * "_org": "728", * "_created_at": "2022-06-03T16:05:04.391Z", * "_updated_at": "2022-06-03T16:05:04.391Z" * }, * "_product": { * "_id": "a7f4771a-6368-4d77-bb01-71f1e4902de5", * "type": "product", * "_schema": "product", * "_title": "Solar Panel with Battery Storage", * "name": "Solar Panel with Battery Storage", * "code": "SOLAR-BATT", * "active": true, * "description": "Solar Panel with battery solution, optimized for max efficiency. ", * "feature": [ * { * "_tags": [], * "feature": "Eco-Panels" * }, * { * "_tags": [], * "feature": "Remote Management Platform" * }, * { * "_tags": [], * "feature": "Battery Remote Control" * }, * { * "_tags": [], * "feature": "Mobile App" * } * ], * "cross_sellable_products": { * "$relation": [ * { * "entity_id": "068d0713-a650-4668-9ed2-eca7be31e337", * "_schema": "product", * "_tags": [] * }, * { * "entity_id": "c8402ee7-fba9-4f3d-bffd-6803ca655782", * "_tags": [] * } * ] * }, * "product_images": { * "$relation": [ * { * "entity_id": "37bdeaaa-65fe-403e-9894-65b01cd277f1" * }, * { * "entity_id": "56dde657-795c-41bb-bf53-98fd586b7e6e" * } * ] * }, * "product_downloads": { * "$relation": [ * { * "entity_id": "64211361-8759-414b-81c0-afbf24f83aa9" * } * ] * }, * "_org": "728", * "_created_at": "2022-06-03T15:52:27.512Z", * "_updated_at": "2022-06-03T16:05:15.029Z", * "price_options": { * "$relation": [ * { * "entity_id": "9c36c23b-1574-4193-beff-b1b5e1124bc7", * "_tags": [] * }, * { * "entity_id": "146aa2cc-f267-4d5e-bda4-cbe2669b7741", * "_tags": [] * } * ] * } * }, * "quantity": 4, * "currency": "EUR", * "description": "Battery Module 500amps", * "unit_amount": 50000, * "unit_amount_net": 42017, * "amount_subtotal": 168067, * "amount_total": 200000 * }, * { * "price_id": "d88a8763-3e3d-4fc7-a7a5-2bc9117148bf", * "product_id": "065d6618-cc59-45f4-8e3a-700edf6813c3", * "pricing_model": "per_unit", * "is_composite_price": false, * "_price": { * "_id": "d88a8763-3e3d-4fc7-a7a5-2bc9117148bf", * "unit_amount": 12055, * "type": "recurring", * "billing_period": "monthly", * "billing_duration_amount": 8, * "billing_duration_unit": "years", * "notice_time_amount": 3, * "notice_time_unit": "months", * "termination_time_amount": 2, * "termination_time_unit": "months", * "renewal_duration_amount": 1, * "renewal_duration_unit": "years", * "active": true, * "sales_tax": "reduced", * "is_tax_inclusive": true, * "description": "Monthly", * "billing_scheme": "per_unit", * "_schema": "price", * "_org": "728", * "_created_at": "2021-11-10T14:40:27.695Z", * "_updated_at": "2021-12-14T18:16:33.248Z", * "_title": "Monthly", * "unit_amount_currency": "EUR", * "unit_amount_decimal": "120.55456634", * "pricing_model": "per_unit", * "is_composite_price": false * }, * "_product": { * "_id": "065d6618-cc59-45f4-8e3a-700edf6813c3", * "name": "Smartmeter: Schneider Electric PM5000 LCD Energiemessgerät / 3-phasig", * "code": "1312378123", * "_tags": [ * "wallbox", * "review demo", * "1" * ], * "categories": [ * "Power" * ], * "type": "product", * "active": true, * "feature": [ * { * "_tags": [], * "feature": "Bis zu 11 kW Ladeleistung (5x schneller laden)" * }, * { * "_tags": [], * "feature": "Integrierter MID Zähler für eine kilowattstundengenaue Abrechnung*" * }, * { * "_tags": [], * "feature": "Konfigurierbare Ladeleistung" * }, * { * "_tags": [], * "feature": "Zugangskontrolle über RFID-Karten" * }, * { * "_tags": [], * "feature": "Kommunikation über LAN" * }, * { * "_tags": [], * "feature": "New feature" * } * ], * "_schema": "product", * "_org": "728", * "_created_at": "2021-11-30T11:05:19.484Z", * "_updated_at": "2022-01-13T09:18:29.944Z", * "_title": "Smartmeter: Schneider Electric PM5000 LCD Energiemessgerät / 3-phasig", * "price_options": { * "$relation": [ * { * "entity_id": "5264b089-fc6a-4a91-9a2a-80c673958faa" * }, * { * "entity_id": "d88a8763-3e3d-4fc7-a7a5-2bc9117148bf" * } * ] * }, * "product_images": { * "$relation": [ * { * "entity_id": "16729e60-c527-44ef-93c9-c68b6acf1224" * } * ] * } * }, * "quantity": 1, * "currency": "EUR", * "description": "Monthly", * "unit_amount": 12055, * "unit_amount_net": 11267, * "amount_subtotal": 11267, * "amount_total": 12055, * "taxes": [ * { * "rate": "reduced", * "amount": 789 * } * ] * }, * { * "price_id": "e1ddf75a-d0d1-40b4-a07e-56e292867c88", * "product_id": "5b9f05b7-f0f8-49c2-8a8d-0f8f923d6382", * "pricing_model": "per_unit", * "is_composite_price": false, * "_price": { * "_id": "e1ddf75a-d0d1-40b4-a07e-56e292867c88", * "unit_amount": 9900, * "unit_amount_currency": "EUR", * "unit_amount_decimal": "99", * "sales_tax": "standard", * "is_tax_inclusive": true, * "price_display_in_journeys": "show_price", * "type": "recurring", * "billing_period": "yearly", * "billing_duration_unit": "months", * "notice_time_unit": "months", * "termination_time_unit": "months", * "renewal_duration_unit": "months", * "_schema": "price", * "_title": "Yearly payment", * "description": "Yearly payment", * "active": true, * "pricing_model": "per_unit", * "is_composite_price": false, * "_org": "728", * "_created_at": "2022-02-07T22:58:39.884Z", * "_updated_at": "2022-02-07T22:58:39.884Z" * }, * "_product": { * "_id": "5b9f05b7-f0f8-49c2-8a8d-0f8f923d6382", * "_schema": "product", * "_title": "Yearly Payment Product", * "name": "Yearly Payment Product", * "type": "product", * "active": true, * "price_options": { * "$relation": [ * { * "entity_id": "e1ddf75a-d0d1-40b4-a07e-56e292867c88", * "_tags": [] * } * ] * }, * "_org": "728", * "_created_at": "2022-02-07T22:58:44.162Z", * "_updated_at": "2022-02-08T09:34:08.026Z", * "description": "Hier steht die Produktbeschreibung die sich auf dem Dokument, was generiert wird, gezogen wird." * }, * "quantity": 1, * "currency": "EUR", * "description": "Yearly payment", * "unit_amount": 9900, * "unit_amount_net": 8319, * "amount_subtotal": 8319, * "amount_total": 9900, * "taxes": [ * { * "rate": "standard", * "amount": 1581 * } * ] * } * ], * "amount_subtotal": 1532191, * "amount_total": 1821955, * "total_details": { * "amount_tax": 289764, * "breakdown": { * "taxes": [ * { * "tax": { * "_id": "24641e82-0690-4135-8b43-ef12a9b1c5dc", * "rate": 19, * "_schema": "tax", * "_org": "728", * "_created_at": "2021-09-24T15:06:13.859Z", * "_updated_at": "2022-04-04T17:36:15.273Z", * "_title": "Tax Standard", * "type": "VAT", * "active": true, * "region": "DE", * "description": "Standard" * }, * "amount": 287395 * } * ], * "recurrences": [ * { * "type": "one_time", * "amount_subtotal": 1512605, * "amount_subtotal_decimal": "15126.05", * "amount_total": 1800000, * "amount_total_decimal": "18000.00", * "amount_tax": 287395, * "amount_tax_decimal": "2873.95" * }, * { * "type": "recurring", * "billing_period": "monthly", * "amount_subtotal": 11267, * "amount_subtotal_decimal": "112.67", * "amount_total": 12055, * "amount_total_decimal": "120.55", * "amount_tax": 789, * "amount_tax_decimal": "7.89" * }, * { * "type": "recurring", * "billing_period": "yearly", * "amount_subtotal": 8319, * "amount_subtotal_decimal": "83.19", * "amount_total": 9900, * "amount_total_decimal": "99.00", * "amount_tax": 1581, * "amount_tax_decimal": "15.81" * } * ] * } * }, * "currency": "EUR", * "payment_method": [ * { * "type": "IBAN", * "details": {} * } * ], * "billing_contact": { * "$relation": [ * { * "entity_id": "1834a54e-b68f-4f7f-a98a-fe16f11bc2a5", * "_tags": [] * } * ] * }, * "billing_first_name": "Joao", * "billing_last_name": "Pinho", * "billing_email": "j.pinho@epilot.cloud", * "billing_company_name": "epilot cloud", * "billing_address": [ * { * "_tags": [], * "street": "Im Media Park", * "street_number": "8a", * "postal_code": "52000", * "city": "Cologne", * "country": "DE", * "additional_info": "" * } * ], * "delivery_address": [], * "dates": [ * { * "_tags": [ * "Instalation Date" * ], * "dates": "", * "value": "2022-06-30T16:29:00.000Z" * } * ], * "_id": "4c7c9562-f8f0-4af0-a3a6-6aebc5571a6e", * "_org": "728", * "_created_at": "2022-06-03T16:29:46.303Z", * "_updated_at": "2022-06-03T16:29:46.303Z" * } */ Components.Schemas.Order; export type $400 = Components.Schemas.Error; } } } interface OperationMethods { /** * $calculatePricingDetails - calculatePricingDetails * * Computes a set of pricing details that can be persisted on an entity with the pricing capability enabled, e.g: Orders or Contracts. */ '$calculatePricingDetails'( parameters?: Parameters | null, data?: Paths.$CalculatePricingDetails.RequestBody, config?: AxiosRequestConfig ): OperationResponse /** * createOrder - createOrder * * Create an order */ 'createOrder'( parameters?: Parameters | null, data?: Paths.CreateOrder.RequestBody, config?: AxiosRequestConfig ): OperationResponse /** * putOrder - putOrder * * Update an existing Order */ 'putOrder'( parameters?: Parameters | null, data?: Paths.PutOrder.RequestBody, config?: AxiosRequestConfig ): OperationResponse /** * $checkoutCart - checkoutCart * * Checkouts a cart and executes the specified checkout `mode` process. * * A Checkout implicitly finalizes the provided cart (if not transient from a fast-checkout) and behaves in one of the following modes: * - `create_order` (**default**): the payment happens at a later date or managed by 3rd-party CRM (SAP) * - `create_invoice`: the payment happens on the online checkout (paypal, stripe, adyen) * - `create_quote`: the checkout represents a price quote request * * Fast checkout is also supported, by passing the Cart contents directly. * When a fast checkout is performed the cart is considered transient and there is no cart persistance. * * If the checkout `mode` is omitted, the `mode` will default to `create_order`. * */ '$checkoutCart'( parameters?: Parameters | null, data?: Paths.$CheckoutCart.RequestBody, config?: AxiosRequestConfig ): OperationResponse /** * $searchCatalog - searchCatalog * * Provides a querying functionalities over products and prices of the Catalog for a given organization. */ '$searchCatalog'( parameters?: Parameters | null, data?: Paths.$SearchCatalog.RequestBody, config?: AxiosRequestConfig ): OperationResponse /** * $privateSearchCatalog - privateSearchCatalog * * Provides a querying functionalities over products and prices of the Catalog for a given organization. */ '$privateSearchCatalog'( parameters?: Parameters | null, data?: Paths.$PrivateSearchCatalog.RequestBody, config?: AxiosRequestConfig ): OperationResponse /** * $validatePromoCodes - validatePromoCodes * * Validate a list of promo codes against a list of coupons */ '$validatePromoCodes'( parameters?: Parameters | null, data?: Paths.$ValidatePromoCodes.RequestBody, config?: AxiosRequestConfig ): OperationResponse /** * $availabilityCheck - availabilityCheck * * The availability check endpoint */ '$availabilityCheck'( parameters?: Parameters | null, data?: Paths.$AvailabilityCheck.RequestBody, config?: AxiosRequestConfig ): OperationResponse /** * $validateAvailabilityFile - validateAvailabilityFile * * Validates an availability file, it returns an array of errors if the file is invalid */ '$validateAvailabilityFile'( parameters?: Parameters | null, data?: any, config?: AxiosRequestConfig ): OperationResponse /** * $historicMarketPrices - historicMarketPrices * * Get a series of historic energy prices for a given time period, market and bidding zone. */ '$historicMarketPrices'( parameters?: Parameters | null, data?: any, config?: AxiosRequestConfig ): OperationResponse /** * $averageMarketPrice - averageMarketPrice * * Get the average energy prices for a given time period, market and bidding zone. */ '$averageMarketPrice'( parameters?: Parameters | null, data?: any, config?: AxiosRequestConfig ): OperationResponse /** * $searchExternalProducts - searchExternalProducts * * Returns the list of available products with computed prices based on a given context and for a given org integration. */ '$searchExternalProducts'( parameters?: Parameters | null, data?: Paths.$SearchExternalProducts.RequestBody, config?: AxiosRequestConfig ): OperationResponse /** * $searchExternalProductRecommendations - searchExternalProductRecommendations * * Returns the list of available product recommendations with computed prices based on a given context and for a given org integration. */ '$searchExternalProductRecommendations'( parameters?: Parameters | null, data?: Paths.$SearchExternalProductRecommendations.RequestBody, config?: AxiosRequestConfig ): OperationResponse /** * $searchProviders - searchProviders * * Returns the list of providers available based on a given location */ '$searchProviders'( parameters?: Parameters | null, data?: Paths.$SearchProviders.RequestBody, config?: AxiosRequestConfig ): OperationResponse /** * $searchStreets - searchStreets * * Returns the list of streets available for a given postal code and city */ '$searchStreets'( parameters?: Parameters | null, data?: Paths.$SearchStreets.RequestBody, config?: AxiosRequestConfig ): OperationResponse /** * $computePrice - calculatePricingDetails * * Returns the price for a given product type based on location and consumption */ '$computePrice'( parameters?: Parameters | null, data?: Paths.$ComputePrice.RequestBody, config?: AxiosRequestConfig ): OperationResponse /** * $getCredentials - getCredentials * * Gets the credentials for a given integration / organization */ '$getCredentials'( parameters?: Parameters | null, data?: any, config?: AxiosRequestConfig ): OperationResponse /** * $saveCredentials - saveCredentials * * Saves the credentials for a given integration / organization */ '$saveCredentials'( parameters?: Parameters | null, data?: Paths.$SaveCredentials.RequestBody, config?: AxiosRequestConfig ): OperationResponse /** * $deleteCredentials - deleteCredentials * * Delete the credentials for a given integration / organization */ '$deleteCredentials'( parameters?: Parameters | null, data?: any, config?: AxiosRequestConfig ): OperationResponse /** * $getExternalCatalogProducts - getExternalCatalogProducts * * Returns the list of available external catalog products with computed prices based on a given context */ '$getExternalCatalogProducts'( parameters?: Parameters | null, data?: Paths.$GetExternalCatalogProducts.RequestBody, config?: AxiosRequestConfig ): OperationResponse /** * $getExternalCatalogProductRecommendations - getExternalCatalogProductRecommendations * * Returns the list of available external catalog products recommendations based on a given context */ '$getExternalCatalogProductRecommendations'( parameters?: Parameters | null, data?: Paths.$GetExternalCatalogProductRecommendations.RequestBody, config?: AxiosRequestConfig ): OperationResponse /** * $productRecommendations - productRecommendations * * Get a list of product recommendations based on the search parameters. */ '$productRecommendations'( parameters?: Parameters | null, data?: Paths.$ProductRecommendations.RequestBody, config?: AxiosRequestConfig ): OperationResponse } interface PathsDictionary { ['/v1/pricing:compute']: { /** * $calculatePricingDetails - calculatePricingDetails * * Computes a set of pricing details that can be persisted on an entity with the pricing capability enabled, e.g: Orders or Contracts. */ 'post'( parameters?: Parameters | null, data?: Paths.$CalculatePricingDetails.RequestBody, config?: AxiosRequestConfig ): OperationResponse } ['/v1/order']: { /** * createOrder - createOrder * * Create an order */ 'post'( parameters?: Parameters | null, data?: Paths.CreateOrder.RequestBody, config?: AxiosRequestConfig ): OperationResponse } ['/v1/order/{id}']: { /** * putOrder - putOrder * * Update an existing Order */ 'put'( parameters?: Parameters | null, data?: Paths.PutOrder.RequestBody, config?: AxiosRequestConfig ): OperationResponse } ['/v1/public/cart:checkout']: { /** * $checkoutCart - checkoutCart * * Checkouts a cart and executes the specified checkout `mode` process. * * A Checkout implicitly finalizes the provided cart (if not transient from a fast-checkout) and behaves in one of the following modes: * - `create_order` (**default**): the payment happens at a later date or managed by 3rd-party CRM (SAP) * - `create_invoice`: the payment happens on the online checkout (paypal, stripe, adyen) * - `create_quote`: the checkout represents a price quote request * * Fast checkout is also supported, by passing the Cart contents directly. * When a fast checkout is performed the cart is considered transient and there is no cart persistance. * * If the checkout `mode` is omitted, the `mode` will default to `create_order`. * */ 'post'( parameters?: Parameters | null, data?: Paths.$CheckoutCart.RequestBody, config?: AxiosRequestConfig ): OperationResponse } ['/v1/public/catalog']: { /** * $searchCatalog - searchCatalog * * Provides a querying functionalities over products and prices of the Catalog for a given organization. */ 'post'( parameters?: Parameters | null, data?: Paths.$SearchCatalog.RequestBody, config?: AxiosRequestConfig ): OperationResponse } ['/v1/catalog']: { /** * $privateSearchCatalog - privateSearchCatalog * * Provides a querying functionalities over products and prices of the Catalog for a given organization. */ 'post'( parameters?: Parameters | null, data?: Paths.$PrivateSearchCatalog.RequestBody, config?: AxiosRequestConfig ): OperationResponse } ['/v1/public/validate-promo-codes']: { /** * $validatePromoCodes - validatePromoCodes * * Validate a list of promo codes against a list of coupons */ 'post'( parameters?: Parameters | null, data?: Paths.$ValidatePromoCodes.RequestBody, config?: AxiosRequestConfig ): OperationResponse } ['/v1/public/availability:check']: { /** * $availabilityCheck - availabilityCheck * * The availability check endpoint */ 'post'( parameters?: Parameters | null, data?: Paths.$AvailabilityCheck.RequestBody, config?: AxiosRequestConfig ): OperationResponse } ['/v1/validate-availability/{id}']: { /** * $validateAvailabilityFile - validateAvailabilityFile * * Validates an availability file, it returns an array of errors if the file is invalid */ 'get'( parameters?: Parameters | null, data?: any, config?: AxiosRequestConfig ): OperationResponse } ['/v1/public/historicMarketPrices']: { /** * $historicMarketPrices - historicMarketPrices * * Get a series of historic energy prices for a given time period, market and bidding zone. */ 'get'( parameters?: Parameters | null, data?: any, config?: AxiosRequestConfig ): OperationResponse } ['/v1/public/averageMarketPrice']: { /** * $averageMarketPrice - averageMarketPrice * * Get the average energy prices for a given time period, market and bidding zone. */ 'get'( parameters?: Parameters | null, data?: any, config?: AxiosRequestConfig ): OperationResponse } ['/v1/public/integration/{integrationId}/products']: { /** * $searchExternalProducts - searchExternalProducts * * Returns the list of available products with computed prices based on a given context and for a given org integration. */ 'post'( parameters?: Parameters | null, data?: Paths.$SearchExternalProducts.RequestBody, config?: AxiosRequestConfig ): OperationResponse } ['/v1/public/integration/{integrationId}/product-recommendations']: { /** * $searchExternalProductRecommendations - searchExternalProductRecommendations * * Returns the list of available product recommendations with computed prices based on a given context and for a given org integration. */ 'post'( parameters?: Parameters | null, data?: Paths.$SearchExternalProductRecommendations.RequestBody, config?: AxiosRequestConfig ): OperationResponse } ['/v1/public/integration/{integrationId}/providers:search']: { /** * $searchProviders - searchProviders * * Returns the list of providers available based on a given location */ 'post'( parameters?: Parameters | null, data?: Paths.$SearchProviders.RequestBody, config?: AxiosRequestConfig ): OperationResponse } ['/v1/public/integration/{integrationId}/streets:search']: { /** * $searchStreets - searchStreets * * Returns the list of streets available for a given postal code and city */ 'post'( parameters?: Parameters | null, data?: Paths.$SearchStreets.RequestBody, config?: AxiosRequestConfig ): OperationResponse } ['/v1/public/integration/{integrationId}/compute-price']: { /** * $computePrice - calculatePricingDetails * * Returns the price for a given product type based on location and consumption */ 'post'( parameters?: Parameters | null, data?: Paths.$ComputePrice.RequestBody, config?: AxiosRequestConfig ): OperationResponse } ['/v1/integration/{integrationId}/credentials']: { /** * $getCredentials - getCredentials * * Gets the credentials for a given integration / organization */ 'get'( parameters?: Parameters | null, data?: any, config?: AxiosRequestConfig ): OperationResponse } ['/v1/integration/{integrationId}/credentials:save']: { /** * $saveCredentials - saveCredentials * * Saves the credentials for a given integration / organization */ 'put'( parameters?: Parameters | null, data?: Paths.$SaveCredentials.RequestBody, config?: AxiosRequestConfig ): OperationResponse } ['/v1/integration/{integrationId}/credentials:delete']: { /** * $deleteCredentials - deleteCredentials * * Delete the credentials for a given integration / organization */ 'delete'( parameters?: Parameters | null, data?: any, config?: AxiosRequestConfig ): OperationResponse } ['/v1/public/external-catalog/products']: { /** * $getExternalCatalogProducts - getExternalCatalogProducts * * Returns the list of available external catalog products with computed prices based on a given context */ 'post'( parameters?: Parameters | null, data?: Paths.$GetExternalCatalogProducts.RequestBody, config?: AxiosRequestConfig ): OperationResponse } ['/v1/public/external-catalog/product-recommendations']: { /** * $getExternalCatalogProductRecommendations - getExternalCatalogProductRecommendations * * Returns the list of available external catalog products recommendations based on a given context */ 'post'( parameters?: Parameters | null, data?: Paths.$GetExternalCatalogProductRecommendations.RequestBody, config?: AxiosRequestConfig ): OperationResponse } ['/v1/public/product-recommendations']: { /** * $productRecommendations - productRecommendations * * Get a list of product recommendations based on the search parameters. */ 'post'( parameters?: Parameters | null, data?: Paths.$ProductRecommendations.RequestBody, config?: AxiosRequestConfig ): OperationResponse } } type Client = OpenAPIClient type AdditionalProviderData = Components.Schemas.AdditionalProviderData; type Address = Components.Schemas.Address; type Amounts = Components.Schemas.Amounts; type AvailabilityCheckParams = Components.Schemas.AvailabilityCheckParams; type AvailabilityFilters = Components.Schemas.AvailabilityFilters; type AvailabilityLocation = Components.Schemas.AvailabilityLocation; type AvailabilityResult = Components.Schemas.AvailabilityResult; type AverageMarketPriceRecord = Components.Schemas.AverageMarketPriceRecord; type AverageMarketPriceResult = Components.Schemas.AverageMarketPriceResult; type BaseCompositePrice = Components.Schemas.BaseCompositePrice; type BaseCouponCommon = Components.Schemas.BaseCouponCommon; type BaseMarketPriceRecord = Components.Schemas.BaseMarketPriceRecord; type BasePriceItem = Components.Schemas.BasePriceItem; type BasePriceItemCommon = Components.Schemas.BasePriceItemCommon; type BasePriceItemDto = Components.Schemas.BasePriceItemDto; type BasicAuthCredentials = Components.Schemas.BasicAuthCredentials; type BasicAuthIntegration = Components.Schemas.BasicAuthIntegration; type BillingPeriod = Components.Schemas.BillingPeriod; type CartDto = Components.Schemas.CartDto; type CashbackAmount = Components.Schemas.CashbackAmount; type CashbackAmounts = Components.Schemas.CashbackAmounts; type CashbackPeriod = Components.Schemas.CashbackPeriod; type CatalogSearch = Components.Schemas.CatalogSearch; type CatalogSearchResult = Components.Schemas.CatalogSearchResult; type CheckoutCart = Components.Schemas.CheckoutCart; type CheckoutCartResult = Components.Schemas.CheckoutCartResult; type CheckoutMode = Components.Schemas.CheckoutMode; type CompositePrice = Components.Schemas.CompositePrice; type CompositePriceItem = Components.Schemas.CompositePriceItem; type CompositePriceItemDto = Components.Schemas.CompositePriceItemDto; type ComputePriceParams = Components.Schemas.ComputePriceParams; type ComputePriceParamsBase = Components.Schemas.ComputePriceParamsBase; type ComputePriceParamsGas = Components.Schemas.ComputePriceParamsGas; type ComputePriceParamsPower = Components.Schemas.ComputePriceParamsPower; type ComputePriceResult = Components.Schemas.ComputePriceResult; type ComputedBasePrice = Components.Schemas.ComputedBasePrice; type ComputedPriceBreakdown = Components.Schemas.ComputedPriceBreakdown; type ComputedPriceComponents = Components.Schemas.ComputedPriceComponents; type ConsumptionTypeGetAg = Components.Schemas.ConsumptionTypeGetAg; type Coupon = Components.Schemas.Coupon; type CouponItem = Components.Schemas.CouponItem; type CouponWithoutPromoCodes = Components.Schemas.CouponWithoutPromoCodes; type Currency = Components.Schemas.Currency; type CustomContext = Components.Schemas.CustomContext; type Customer = Components.Schemas.Customer; type DiscountAmounts = Components.Schemas.DiscountAmounts; type DynamicTariffInterval = Components.Schemas.DynamicTariffInterval; type DynamicTariffMode = Components.Schemas.DynamicTariffMode; type EntityId = Components.Schemas.EntityId; type EntityItem = Components.Schemas.EntityItem; type EntityRelation = Components.Schemas.EntityRelation; type Error = Components.Schemas.Error; type ExternalCatalogConfigurationRequest = Components.Schemas.ExternalCatalogConfigurationRequest; type ExternalCatalogCustomRequest = Components.Schemas.ExternalCatalogCustomRequest; type ExternalCatalogItem = Components.Schemas.ExternalCatalogItem; type ExternalCatalogJourneyRequest = Components.Schemas.ExternalCatalogJourneyRequest; type ExternalCatalogPortalRequest = Components.Schemas.ExternalCatalogPortalRequest; type ExternalCatalogRequest = Components.Schemas.ExternalCatalogRequest; type ExternalFeeMapping = Components.Schemas.ExternalFeeMapping; type ExternalFeeMappings = Components.Schemas.ExternalFeeMappings; type ExternalFeeMetadata = Components.Schemas.ExternalFeeMetadata; type ExternalLocationMetadata = Components.Schemas.ExternalLocationMetadata; type ExternalPriceMetadata = Components.Schemas.ExternalPriceMetadata; type File = Components.Schemas.File; type GasConcessionType = Components.Schemas.GasConcessionType; type GasMarketAreaDetails = Components.Schemas.GasMarketAreaDetails; type HistoricMarketPriceRecord = Components.Schemas.HistoricMarketPriceRecord; type HistoricMarketPricesResult = Components.Schemas.HistoricMarketPricesResult; type HydratedCompositePrice = Components.Schemas.HydratedCompositePrice; type IntegrationAuthCredentials = Components.Schemas.IntegrationAuthCredentials; type IntegrationCredentialsResult = Components.Schemas.IntegrationCredentialsResult; type IntegrationId = Components.Schemas.IntegrationId; type JourneyContext = Components.Schemas.JourneyContext; type MarketParticipant = Components.Schemas.MarketParticipant; type MarkupPricingModel = Components.Schemas.MarkupPricingModel; type MetaData = Components.Schemas.MetaData; type NonHydratedCompositePrice = Components.Schemas.NonHydratedCompositePrice; type OAuthCredentials = Components.Schemas.OAuthCredentials; type OAuthIntegration = Components.Schemas.OAuthIntegration; type Offer = Components.Schemas.Offer; type OfferHighlightConfig = Components.Schemas.OfferHighlightConfig; type Opportunity = Components.Schemas.Opportunity; type OpportunitySource = Components.Schemas.OpportunitySource; type Order = Components.Schemas.Order; type OrderPayload = Components.Schemas.OrderPayload; type OrderRelation = Components.Schemas.OrderRelation; type OrderSource = Components.Schemas.OrderSource; type OrderStatus = Components.Schemas.OrderStatus; type PaymentMethod = Components.Schemas.PaymentMethod; type PortalContext = Components.Schemas.PortalContext; type PowerMarketAreaDetails = Components.Schemas.PowerMarketAreaDetails; type PowerMeterType = Components.Schemas.PowerMeterType; type Price = Components.Schemas.Price; type PriceAmounts = Components.Schemas.PriceAmounts; type PriceComponentRelation = Components.Schemas.PriceComponentRelation; type PriceConditions = Components.Schemas.PriceConditions; type PriceDynamicTariff = Components.Schemas.PriceDynamicTariff; type PriceGetAg = Components.Schemas.PriceGetAg; type PriceInputMapping = Components.Schemas.PriceInputMapping; type PriceInputMappings = Components.Schemas.PriceInputMappings; type PriceItem = Components.Schemas.PriceItem; type PriceItemDto = Components.Schemas.PriceItemDto; type PriceItemDtoUnion = Components.Schemas.PriceItemDtoUnion; type PriceItems = Components.Schemas.PriceItems; type PriceItemsDto = Components.Schemas.PriceItemsDto; type PriceTier = Components.Schemas.PriceTier; type PriceTierDisplayMode = Components.Schemas.PriceTierDisplayMode; type PricingDetails = Components.Schemas.PricingDetails; type PricingDetailsResponse = Components.Schemas.PricingDetailsResponse; type PricingModel = Components.Schemas.PricingModel; type Product = Components.Schemas.Product; type ProductCategory = Components.Schemas.ProductCategory; type ProductRecommendation = Components.Schemas.ProductRecommendation; type ProductRecommendationResponse = Components.Schemas.ProductRecommendationResponse; type ProductRecommendationSearch = Components.Schemas.ProductRecommendationSearch; type PromoCode = Components.Schemas.PromoCode; type PromoCodeValidationResponse = Components.Schemas.PromoCodeValidationResponse; type Provider = Components.Schemas.Provider; type RecurrenceAmount = Components.Schemas.RecurrenceAmount; type RecurrenceAmountDto = Components.Schemas.RecurrenceAmountDto; type RecurrenceAmountWithTax = Components.Schemas.RecurrenceAmountWithTax; type RedeemedPromo = Components.Schemas.RedeemedPromo; type SalesTax = Components.Schemas.SalesTax; type SaveIntegrationCredentialsParams = Components.Schemas.SaveIntegrationCredentialsParams; type SearchExternalCatalogParams = Components.Schemas.SearchExternalCatalogParams; type SearchExternalCatalogRecommendationsResult = Components.Schemas.SearchExternalCatalogRecommendationsResult; type SearchExternalCatalogResult = Components.Schemas.SearchExternalCatalogResult; type SearchProvidersParams = Components.Schemas.SearchProvidersParams; type SearchProvidersResult = Components.Schemas.SearchProvidersResult; type SearchStreetsParams = Components.Schemas.SearchStreetsParams; type SearchStreetsResult = Components.Schemas.SearchStreetsResult; type SignatureMeta = Components.Schemas.SignatureMeta; type SpotMarketBiddingZone = Components.Schemas.SpotMarketBiddingZone; type SpotMarketDataFrequency = Components.Schemas.SpotMarketDataFrequency; type SpotMarketType = Components.Schemas.SpotMarketType; type Street = Components.Schemas.Street; type TariffTypeGetAg = Components.Schemas.TariffTypeGetAg; type Tax = Components.Schemas.Tax; type TaxAmount = Components.Schemas.TaxAmount; type TaxAmountBreakdown = Components.Schemas.TaxAmountBreakdown; type TaxAmountDto = Components.Schemas.TaxAmountDto; type TaxBreakdownInfo = Components.Schemas.TaxBreakdownInfo; type TierDetails = Components.Schemas.TierDetails; type TotalDetails = Components.Schemas.TotalDetails; type TypeGetAg = Components.Schemas.TypeGetAg; type ValidateAvailabilityFileError = Components.Schemas.ValidateAvailabilityFileError; type ValidateAvailabilityFileResult = Components.Schemas.ValidateAvailabilityFileResult; export { type EntityId as $, type AdditionalProviderData as A, type BaseCompositePrice as B, type Client as C, type CheckoutMode as D, type CompositePrice as E, type CompositePriceItem as F, type CompositePriceItemDto as G, type ComputePriceParams as H, type ComputePriceParamsBase as I, type ComputePriceParamsGas as J, type ComputePriceParamsPower as K, type ComputePriceResult as L, type ComputedBasePrice as M, type ComputedPriceBreakdown as N, type OperationMethods as O, Paths as P, type ComputedPriceComponents as Q, type ConsumptionTypeGetAg as R, type Coupon as S, type CouponItem as T, type CouponWithoutPromoCodes as U, type Currency as V, type CustomContext as W, type Customer as X, type DiscountAmounts as Y, type DynamicTariffInterval as Z, type DynamicTariffMode as _, Components as a, type ProductRecommendation as a$, type EntityItem as a0, type EntityRelation as a1, type Error as a2, type ExternalCatalogConfigurationRequest as a3, type ExternalCatalogCustomRequest as a4, type ExternalCatalogItem as a5, type ExternalCatalogJourneyRequest as a6, type ExternalCatalogPortalRequest as a7, type ExternalCatalogRequest as a8, type ExternalFeeMapping as a9, type OrderRelation as aA, type OrderSource as aB, type OrderStatus as aC, type PaymentMethod as aD, type PortalContext as aE, type PowerMarketAreaDetails as aF, type PowerMeterType as aG, type Price as aH, type PriceAmounts as aI, type PriceComponentRelation as aJ, type PriceConditions as aK, type PriceDynamicTariff as aL, type PriceGetAg as aM, type PriceInputMapping as aN, type PriceInputMappings as aO, type PriceItem as aP, type PriceItemDto as aQ, type PriceItemDtoUnion as aR, type PriceItems as aS, type PriceItemsDto as aT, type PriceTier as aU, type PriceTierDisplayMode as aV, type PricingDetails as aW, type PricingDetailsResponse as aX, type PricingModel as aY, type Product as aZ, type ProductCategory as a_, type ExternalFeeMappings as aa, type ExternalFeeMetadata as ab, type ExternalLocationMetadata as ac, type ExternalPriceMetadata as ad, type File as ae, type GasConcessionType as af, type GasMarketAreaDetails as ag, type HistoricMarketPriceRecord as ah, type HistoricMarketPricesResult as ai, type HydratedCompositePrice as aj, type IntegrationAuthCredentials as ak, type IntegrationCredentialsResult as al, type IntegrationId as am, type JourneyContext as an, type MarketParticipant as ao, type MarkupPricingModel as ap, type MetaData as aq, type NonHydratedCompositePrice as ar, type OAuthCredentials as as, type OAuthIntegration as at, type Offer as au, type OfferHighlightConfig as av, type Opportunity as aw, type OpportunitySource as ax, type Order as ay, type OrderPayload as az, type PathsDictionary as b, type ProductRecommendationResponse as b0, type ProductRecommendationSearch as b1, type PromoCode as b2, type PromoCodeValidationResponse as b3, type Provider as b4, type RecurrenceAmount as b5, type RecurrenceAmountDto as b6, type RecurrenceAmountWithTax as b7, type RedeemedPromo as b8, type SalesTax as b9, type SaveIntegrationCredentialsParams as ba, type SearchExternalCatalogParams as bb, type SearchExternalCatalogRecommendationsResult as bc, type SearchExternalCatalogResult as bd, type SearchProvidersParams as be, type SearchProvidersResult as bf, type SearchStreetsParams as bg, type SearchStreetsResult as bh, type SignatureMeta as bi, type SpotMarketBiddingZone as bj, type SpotMarketDataFrequency as bk, type SpotMarketType as bl, type Street as bm, type TariffTypeGetAg as bn, type Tax as bo, type TaxAmount as bp, type TaxAmountBreakdown as bq, type TaxAmountDto as br, type TaxBreakdownInfo as bs, type TierDetails as bt, type TotalDetails as bu, type TypeGetAg as bv, type ValidateAvailabilityFileError as bw, type ValidateAvailabilityFileResult as bx, type Address as c, type Amounts as d, type AvailabilityCheckParams as e, type AvailabilityFilters as f, type AvailabilityLocation as g, type AvailabilityResult as h, type AverageMarketPriceRecord as i, type AverageMarketPriceResult as j, type BaseCouponCommon as k, type BaseMarketPriceRecord as l, type BasePriceItem as m, type BasePriceItemCommon as n, type BasePriceItemDto as o, type BasicAuthCredentials as p, type BasicAuthIntegration as q, type BillingPeriod as r, type CartDto as s, type CashbackAmount as t, type CashbackAmounts as u, type CashbackPeriod as v, type CatalogSearch as w, type CatalogSearchResult as x, type CheckoutCart as y, type CheckoutCartResult as z };