Schema representing a quote. The source can be a quote request originating within Spark or a quote created within OpCo back-end systems. QuoteRequest(BaseQuote and QuoteRequestExtension) is sent from Spark. OpCoQuote(BaseQuote and OpCoQuoteExtension) object is expected from the OpCo.
The details of the quote request
{
"eventHeader": {
"source": "OPCO",
"version": "v1"
},
"quoteName": "Site 1 quote",
"opcoId": "BEL-CEBEO",
"salesChannel": "TELESALES",
"status": "READY_TO_ORDER",
"createdDateTime": "2021-07-08T14:17:46.218772Z",
"lastModifiedDateTime": "2021-07-11T14:17:46.218772Z",
"accountId": "59852",
"additionalInformation": {
"additionalReferences": [
{
"name": "warehouseName",
"value": "Z.I. Fourviere"
}
]
},
"contributors": [
{
"fullName": "XXXX XXXXXX",
"email": "xxx@xxxxxx.com",
"creator": true
}
],
"lineItems": [
{
"id": "96122268053639168",
"quantity": 5,
"minOrderableQuantity": 1,
"maxOrderableQuantity": 100,
"requestedQuantity": 10,
"type": "PRODUCT",
"productId": "3618978",
"prices": {
"netPrice": {
"amount": 4426,
"scale": 2,
"currency": "EUR"
},
"totalPrice": {
"amount": 17130,
"scale": 2,
"currency": "EUR"
},
"taxes": [
{
"type": "VAT",
"percentage": 21,
"isSurcharge": false
},
{
"type": "ECOTAX",
"taxAmount": {
"amount": 826,
"scale": 4,
"currency": "EUR"
},
"isSurcharge": true
}
]
}
},
{
"id": "96121848778428416",
"quantity": 5,
"minOrderableQuantity": 1,
"maxOrderableQuantity": 100,
"requestedQuantity": 10,
"productId": "4408098",
"prices": {
"netPrice": {
"amount": 1886,
"scale": 2,
"currency": "EUR"
},
"totalPrice": {
"amount": 8930,
"scale": 2,
"currency": "EUR"
}
}
}
],
"totalAmountIncludingTaxes": {
"amount": 5820,
"scale": 2,
"currency": "EUR"
},
"totalAmountIncludingSurcharges": {
"amount": 5650,
"scale": 2,
"currency": "EUR"
},
"totalByTax": [
{
"type": "VAT",
"isSurcharge": false,
"taxAmount": {
"amount": 12000,
"scale": 4,
"currency": "EUR"
}
},
{
"type": "ECOTAX",
"isSurcharge": true,
"taxAmount": {
"amount": 260,
"scale": 2,
"currency": "EUR"
}
}
],
"logisticDetails": {
"logisticMethod": "DELIVERY",
"deliveryAddress": {
"opCoAddressId": "1234567890",
"addressLine1": "chaussee Verlinden 22",
"addressLine2": "Apartment 2",
"city": "Bruges",
"country": "BEL",
"postalCode": "0287",
"addressName": "Building #2"
}
}
}
This object is used to describe some technical meta information related to the event
The application source of this event
The version of the json format event
Name of the quote if provided by the Customer. This field's value will only be used for display purposes on the Quote listing and details.
If the OpCo wishes to transfer any information from Quote to Cart to Order, then the OpCo should provide the information 'also' as part of additionalReferences field.
"Site 1 quote"
The quote id generated by the opco back-end system. This field is named originally quoteId but it represents the Id generated by opco system.
The field quoteRequestId represent the Id when quote is firstly created on Spark side
"4999569661752721026"
"4999569661_ORG1"
tenant identifier for an Opco in SPARK multi-tenant platform
"BEL-CEBEO"
Optional field, needed by OpCo organised with a regional model or commercial organisation. It can be used to filter or route based on the orgId.
"org123"
"SNE"
The sales channel where the quote / quote request is created
"ESHOP"
The overall status of the quote / quote request. EXPIRED, ORDERED, CANCELLED and DELETED are the terminating statuses for the quote as no further updates are expected once the quote reaches to any of these statuses
The date when the quote / quote request is created with ISO 8601 format. This date/time should not be in future.
"2021-10-12T08:30:22.804Z"
"2021-10-12T08:30:22"
The date when the quote / quote request was last modified with ISO 8601 format. This date/time should not be in future and should not be before the createdDateTime.
"2021-10-23T08:30:22.804Z"
"2021-10-23T08:30:22Z"
The opco account id of the customer.
"12345"
"12345_SNE"
The list of users that contribute on the creation and review of the quote / quote request. The creator of the quote, the validator of the quote ...
No Additional Items[
{
"fullName": "John Smith",
"email": "john.smith@mycompany.com",
"creator": true
},
{
"fullName": "John Validator",
"email": "john.validator@mycompany.com"
}
]
The full name of a contributor.
"John Smith"
The email of a contributor. This is the identifier of the user on spark. Must be email address format.
"john.smith@mycompany.com"
A boolean that when is true means that the current contributor is the creator/requester of the quote from where this quote is created.
In case the quote is created by the an associate on behalf of a customer, this boolean should be true for the contributor that contains the end user email and not the associate email.
"false"
Details of the logistic preferences that apply to the quote or quote request.
If restrictions are provided, then SPARK will ignore LogisticDetails when ingesting the Quote.
{
"logisticMethod": "PICK_UP",
"facilityId": "395"
}
{
"logisticMethod": "DELIVERY",
"deliveryAddress": {
"opCoAddressId": "1234567890",
"addressLine1": "chaussee Verlinden 22",
"addressLine2": "Apartment 2",
"city": "Bruges",
"country": "BEL",
"postalCode": "0287",
"addressName": "Building #2"
}
}
Logistic method restricted for the quote
"PICK_UP"
Unique identifier of the facility used when logistic method is PICK_UP
"395"
Delivery address linked with the quote
OpCo internal system's unique identifier for the address.
"237564557868778"
According to ISO 19060, this field contains one third of the address. In most cases this usually contains the whole addres though.
"Belleboslaan 17"
According to ISO 19060, this field contains one third of the address. This is an optional field.
According to ISO 19060, this field contains one third of the address. This is an optional field.
City.
"Montesson"
The ISO 3166-1 alpha-3 of the country
"FRA"
Zip code.
"78360"
department
"JURA"
region
"Bretagne"
address name
"Belleboslaan 17"
Company name, it might differ from the account name
Must be at least 1 characters long
"Easy Electric"
Address contact's Phone number
Must be at least 1 characters long
"+330287345678"
Contact's firstname.
Must be at least 1 characters long
"John"
Contact's middlename.
Must be at least 1 characters long
"Michael"
Contact's lastname.
Must be at least 1 characters long
"Doe"
Optional indications or instructions about the delivery
Must be at least 1 characters long
"Please leave the parcel next to the front door."
Optional reference about the customer delivery
Must be at least 1 characters long
"Reference #123"
Additional information for the quote
Additional information associated with the quote. Any fields provided here by the OpCo, will be transferred to the Order as part of Order creation / submission to the OpCo.
No Additional ItemsObject representing an additional reference.
Name of the additional reference
"projectId"
Value of the additional reference filled by the customer
"P570629"
[
{
"name": "purchaseOrder",
"value": "PO 64746362"
},
{
"name": "warehouseName",
"value": "Z.I. Fourviere"
}
]
Unique identifier that represents the quote request
"ref393828202"
Unique identifier that represents the quote request
"ref393828202"
Line items that are included in the quote request.
No Additional ItemsThe line item within the quote request
The ID of the line item in Spark, shouldn't be updated by the OpCo.
Must match regular expression:^[0-9]+$
"4999569661752721026"
A unique identifier of the product
"9554961192345"
Quantity of the item
Value must be greater or equal to 1
10
Contains the detail of prices related to the current product and line item
This is the product unit price that the customer will pay to the OPCO, without taxes, without any quote or pre-agreement.
{
"amount": 1000,
"scale": 2,
"currency": "EUR"
}
the actual unscaled amount based on list or customer
205987
the scale to be applied on the unscaled amount
2
the currency code following the ISO 4217 standard 3 letter in which the prices are being displayed
"EUR"
This is the product list price that will be displayed to the customer if provided by OpCo.
{
"amount": 800,
"scale": 2,
"currency": "EUR"
}
the actual unscaled amount based on list or customer
205987
the scale to be applied on the unscaled amount
2
the currency code following the ISO 4217 standard 3 letter in which the prices are being displayed
"EUR"
A short title for this price
{
"en-GB": "Schneider contract",
"fr-FR": "Contrat Schneider"
}
Each additional property must conform to the following schema
Type: stringAn identifier of the contract related to this price
"7575785"
The type of this price. Default value if not present is STANDARD.
"STANDARD"
[
{
"id": "4999569661752721000",
"quantity": 10,
"productId": "4999569661752721000",
"prices": {
"netPrice": {
"amount": 1000,
"scale": 2,
"currency": "EUR"
},
"listPrice": {
"amount": 2000,
"scale": 2,
"currency": "EUR"
},
"type": "STANDARD"
}
},
{
"id": "4999569661752724322",
"quantity": 2,
"type": "PRODUCT",
"productId": "4999569661752721000"
}
]
The quote id generated by the opco back-end system
"4999569661752721026"
"4999569661_ORG1"
The email address of the sales representative who initiated the quote cancellation.
"geert@electracontractors.be"
Additional Properties of any type are allowed.
Type: object{
"eventHeader": {
"source": "SPARK",
"version": "v1"
},
"quoteRequestId": "ref393828202",
"quoteName": "Site 1 quote",
"opcoId": "BEL-CEBEO",
"salesChannel": "TELESALES",
"status": "REQUESTED",
"createdDateTime": "2021-07-08T14:17:46.218772Z",
"accountId": "59852",
"additionalInformation": {
"additionalReferences": [
{
"name": "requestMessage",
"value": "I need a quote.."
},
{
"name": "requestMotivation",
"value": "Better pricing"
}
]
},
"contributors": [
{
"fullName": "XXXX XXXXXX",
"email": "xxx@xxxxxx.com",
"creator": true
}
],
"lineItems": [
{
"id": "96122268053639168",
"quantity": 5,
"productId": "3618978"
},
{
"id": "96121848778428416",
"quantity": 5,
"productId": "4408098"
}
],
"logisticDetails": {
"logisticMethod": "PICK_UP",
"facilityId": "395"
}
}
{
"eventHeader": {
"source": "SPARK-AX",
"version": "v1"
},
"opcoQuoteId": "ref393828202",
"opcoId": "BEL-CEBEO",
"status": "CANCELLATION_REQUESTED",
"quoteRequestId": "ref393828202",
"accountId": "59852",
"cancelledBy": "john@doe.com"
}
Details of the quote created within OpCo back-end systems.
{
"eventHeader": {
"source": "OPCO",
"version": "v1"
},
"quoteName": "Site 1 quote",
"opcoId": "BEL-CEBEO",
"salesChannel": "TELESALES",
"status": "READY_TO_ORDER",
"createdDateTime": "2021-07-08T14:17:46.218772Z",
"lastModifiedDateTime": "2021-07-11T14:17:46.218772Z",
"accountId": "59852",
"additionalInformation": {
"additionalReferences": [
{
"name": "warehouseName",
"value": "Z.I. Fourviere"
}
]
},
"contributors": [
{
"fullName": "XXXX XXXXXX",
"email": "xxx@xxxxxx.com",
"creator": true
}
],
"lineItems": [
{
"id": "96122268053639168",
"quantity": 5,
"minOrderableQuantity": 1,
"maxOrderableQuantity": 100,
"requestedQuantity": 10,
"type": "PRODUCT",
"productId": "3618978",
"prices": {
"netPrice": {
"amount": 4426,
"scale": 2,
"currency": "EUR"
},
"totalPrice": {
"amount": 17130,
"scale": 2,
"currency": "EUR"
},
"taxes": [
{
"type": "VAT",
"percentage": 21,
"isSurcharge": false
},
{
"type": "ECOTAX",
"taxAmount": {
"amount": 826,
"scale": 4,
"currency": "EUR"
},
"isSurcharge": true
}
]
}
},
{
"id": "96121848778428416",
"quantity": 5,
"minOrderableQuantity": 1,
"maxOrderableQuantity": 100,
"requestedQuantity": 10,
"productId": "4408098",
"prices": {
"netPrice": {
"amount": 1886,
"scale": 2,
"currency": "EUR"
},
"totalPrice": {
"amount": 8930,
"scale": 2,
"currency": "EUR"
}
}
}
],
"totalAmountIncludingTaxes": {
"amount": 5820,
"scale": 2,
"currency": "EUR"
},
"totalAmountIncludingSurcharges": {
"amount": 5650,
"scale": 2,
"currency": "EUR"
},
"totalByTax": [
{
"type": "VAT",
"isSurcharge": false,
"taxAmount": {
"amount": 12000,
"scale": 4,
"currency": "EUR"
}
},
{
"type": "ECOTAX",
"isSurcharge": true,
"taxAmount": {
"amount": 260,
"scale": 2,
"currency": "EUR"
}
}
],
"logisticDetails": {
"logisticMethod": "DELIVERY",
"deliveryAddress": {
"opCoAddressId": "1234567890",
"addressLine1": "chaussee Verlinden 22",
"addressLine2": "Apartment 2",
"city": "Bruges",
"country": "BEL",
"postalCode": "0287",
"addressName": "Building #2"
}
}
}
This object is used to describe some technical meta information related to the event
The application source of this event
The version of the json format event
Name of the quote if provided by the Customer. This field's value will only be used for display purposes on the Quote listing and details.
If the OpCo wishes to transfer any information from Quote to Cart to Order, then the OpCo should provide the information 'also' as part of additionalReferences field.
"Site 1 quote"
The quote id generated by the opco back-end system. This field is named originally quoteId but it represents the Id generated by opco system.
The field quoteRequestId represent the Id when quote is firstly created on Spark side
"4999569661752721026"
"4999569661_ORG1"
tenant identifier for an Opco in SPARK multi-tenant platform
"BEL-CEBEO"
Optional field, needed by OpCo organised with a regional model or commercial organisation. It can be used to filter or route based on the orgId.
"org123"
"SNE"
The sales channel where the quote / quote request is created
"ESHOP"
The overall status of the quote / quote request. EXPIRED, ORDERED, CANCELLED and DELETED are the terminating statuses for the quote as no further updates are expected once the quote reaches to any of these statuses
The date when the quote / quote request is created with ISO 8601 format. This date/time should not be in future.
"2021-10-12T08:30:22.804Z"
"2021-10-12T08:30:22"
The date when the quote / quote request was last modified with ISO 8601 format. This date/time should not be in future and should not be before the createdDateTime.
"2021-10-23T08:30:22.804Z"
"2021-10-23T08:30:22Z"
The opco account id of the customer.
"12345"
"12345_SNE"
The list of users that contribute on the creation and review of the quote / quote request. The creator of the quote, the validator of the quote ...
No Additional Items[
{
"fullName": "John Smith",
"email": "john.smith@mycompany.com",
"creator": true
},
{
"fullName": "John Validator",
"email": "john.validator@mycompany.com"
}
]
The full name of a contributor.
"John Smith"
The email of a contributor. This is the identifier of the user on spark. Must be email address format.
"john.smith@mycompany.com"
A boolean that when is true means that the current contributor is the creator/requester of the quote from where this quote is created.
In case the quote is created by the an associate on behalf of a customer, this boolean should be true for the contributor that contains the end user email and not the associate email.
"false"
Details of the logistic preferences that apply to the quote or quote request.
If restrictions are provided, then SPARK will ignore LogisticDetails when ingesting the Quote.
{
"logisticMethod": "PICK_UP",
"facilityId": "395"
}
{
"logisticMethod": "DELIVERY",
"deliveryAddress": {
"opCoAddressId": "1234567890",
"addressLine1": "chaussee Verlinden 22",
"addressLine2": "Apartment 2",
"city": "Bruges",
"country": "BEL",
"postalCode": "0287",
"addressName": "Building #2"
}
}
Logistic method restricted for the quote
"PICK_UP"
Unique identifier of the facility used when logistic method is PICK_UP
"395"
Delivery address linked with the quote
OpCo internal system's unique identifier for the address.
"237564557868778"
According to ISO 19060, this field contains one third of the address. In most cases this usually contains the whole addres though.
"Belleboslaan 17"
According to ISO 19060, this field contains one third of the address. This is an optional field.
According to ISO 19060, this field contains one third of the address. This is an optional field.
City.
"Montesson"
The ISO 3166-1 alpha-3 of the country
"FRA"
Zip code.
"78360"
department
"JURA"
region
"Bretagne"
address name
"Belleboslaan 17"
Company name, it might differ from the account name
Must be at least 1 characters long
"Easy Electric"
Address contact's Phone number
Must be at least 1 characters long
"+330287345678"
Contact's firstname.
Must be at least 1 characters long
"John"
Contact's middlename.
Must be at least 1 characters long
"Michael"
Contact's lastname.
Must be at least 1 characters long
"Doe"
Optional indications or instructions about the delivery
Must be at least 1 characters long
"Please leave the parcel next to the front door."
Optional reference about the customer delivery
Must be at least 1 characters long
"Reference #123"
Additional information for the quote
Additional information associated with the quote. Any fields provided here by the OpCo, will be transferred to the Order as part of Order creation / submission to the OpCo.
No Additional ItemsObject representing an additional reference.
Name of the additional reference
"projectId"
Value of the additional reference filled by the customer
"P570629"
[
{
"name": "purchaseOrder",
"value": "PO 64746362"
},
{
"name": "warehouseName",
"value": "Z.I. Fourviere"
}
]
Unique identifier that represents the quote request
"ref393828202"
If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.
true
The sales representative associated with the quote
Firstname of the sales representative
"John"
Lastname of the sales representative
"Doe"
Email of the sales representative
"john.doe@standelec.com"
The quote id generated by the opco back-end system. This field is named originally quoteId but it represents the Id generated by opco system.
The field quoteRequestId represent the Id when quote is firstly created on Spark side
"4999569661752721026"
"4999569661_ORG1"
The quote code provided by the OpCo for the Customer. If this field is provided, spark will display it to the customer instead of the quoteId
"49995666"
"4999569661"
This id is used to associate a subsequent quote for an account with an existing opportunity on created on AX with his first quote
Must be at least 1 characters long
"1234567"
The version of this quote. Used by some opco system to select the right version of the quote.
"1"
Unique identifier that represents the quote request from the source system e.g. SPARK. MANDATORY when the quote is created based on a quote request from the customer.
"ref393828202"
A boolean when true implies that the quote can be partially ordered by the Customer.
"false"
The type of the quote. STANDARD for normal quotes, BLANKET for quote representing blanket orders. Default value if not present is STANDARD.
"STANDARD"
The date when the quote will be expired with ISO 8601 format. This date/time should not be before the createdDateTime.
"2021-10-19T08:30:22.804Z"
"2021-10-19T08:30:22Z"
Line items that are included in the quote. In case the quote status is DELETED, the lineItems can be sent as an empty element without any items. In other cases, line items are required.
No Additional ItemsThe line item within the quote / quote request
If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.
The ID of the line item in Spark, shouldn't be updated by the OpCo.
Must match regular expression:^[0-9]+$
"4999569661752721026"
The identifier of the line item within the quote in the OpCo system. It can be an alpha numeric value
"4999569661752721026"
"ITEM1"
The type of the line item. PRODUCT when the line item is a product known by spark, OFFLINE_PRODUCT otherwise. Default value if not present is PRODUCT.
"PRODUCT"
A unique identifier of the product
"9554961192345"
Product details of the product. Required for offline products but OpCos that cannot distinguish offline products can send these details for all products
{
"productTitle": {
"en-GB": "Light bulb",
"fr-FR": "Ampoule"
},
"brandName": "Schneider"
}
Short description of the product
{
"en-GB": "Light bulb",
"fr-FR": "Ampoule"
}
Each additional property must conform to the following schema
Type: stringBrand name
"Schneider"
This is the local product id could be specific to opcos, most cases it is same as manufacturer id but could be different as well
"732D16"
"9554961192345"
global trade identifier number e.g EAN, UPC etc
"4012196097579"
This is the equivalent of manufacturer PID and used for search and identifying the product
"1360167"
Manufacturer type description identifier, represents the references
"2037 12-20 LGR"
the customer ref for the product, Supported by all special chars respecting the pattern
Must match regular expression:[a-zA-Z0-9_.+@() /$"=#,;'£\\:°*&%-]+
DEPRECATED. TO BE REMOVED. OpCos should use productDetails field instead
{
"productTitle": {
"en-GB": "Light bulb",
"fr-FR": "Ampoule"
},
"brandName": "Schneider"
}
Short description of the product
{
"en-GB": "Light bulb",
"fr-FR": "Ampoule"
}
Each additional property must conform to the following schema
Type: stringBrand name
"Schneider"
Quantity of the item
Value must be greater or equal to 1
10
Minimum quantity that is allowed to update for the line item by the user. This field will only be used for standard quotes
Value must be greater or equal to 1
10
Maximum quantity that is allowed to update for the line item by the user. This field will only be used for standard quotes
10
Quantity requested/updated by the user. This field should be used mutually exclusive with the requestedCuts field.
This field should be used for none cuttable product only.
Value must be greater or equal to 1
10
List of requested/updated cable cuts by the user. This field should be used mutually exclusive with the requestedQuantity field.
This field should be used for cuttable product only.
Object representing a requested cable cut.
Index of the requested cut line. The index must be unique in the list of requested cuts per line item.
Value must be greater or equal to 0
0
Quantity of the cut
Value must be greater or equal to 1
10
Length of the cable cut in the order unit described on the product ordering details
Value must be greater or equal to 1
5
[
{
"index": 0,
"quantity": 2,
"length": 5
},
{
"index": 1,
"quantity": 3,
"length": 3
}
]
Quantity that is reserved by the OpCo for the blanket order. This field will only be used for blanket order
5
Contains the detail of prices related to the current product and line item
This is the product unit price that the customer will pay to the OPCO, without taxes, without any quote or pre-agreement.
{
"amount": 1000,
"scale": 2,
"currency": "EUR"
}
the actual unscaled amount based on list or customer
205987
the scale to be applied on the unscaled amount
2
the currency code following the ISO 4217 standard 3 letter in which the prices are being displayed
"EUR"
This is the product unit price that the customer will pay to the OPCO, without taxes, if the quote proceeds to the order.
{
"amount": 800,
"scale": 2,
"currency": "EUR"
}
the actual unscaled amount based on list or customer
205987
the scale to be applied on the unscaled amount
2
the currency code following the ISO 4217 standard 3 letter in which the prices are being displayed
"EUR"
This is the product list price that will be displayed to the customer if provided by OpCo.
{
"amount": 800,
"scale": 2,
"currency": "EUR"
}
the actual unscaled amount based on list or customer
205987
the scale to be applied on the unscaled amount
2
the currency code following the ISO 4217 standard 3 letter in which the prices are being displayed
"EUR"
This is price that the customer will pay to the OPCO for the entire line item. Basically, it is (quote price * quantity), or (net price * quantity) if no quote price is provided.
{
"amount": 800,
"scale": 2,
"currency": "EUR"
}
the actual unscaled amount based on list or customer
205987
the scale to be applied on the unscaled amount
2
the currency code following the ISO 4217 standard 3 letter in which the prices are being displayed
"EUR"
A short title for this price
{
"en-GB": "Schneider contract",
"fr-FR": "Contrat Schneider"
}
Each additional property must conform to the following schema
Type: stringAn identifier of the contract related to this price
"7575785"
The type of this price. Default value if not present is STANDARD.
"STANDARD"
List of taxes that will be applied to the net price or the quote price if provided
No Additional Itemscontains the tax information either as a percentage or exact amount. If percentage is sent by the OpCo, then the same percentage value will be displayed to the Customer instead of the tax amount.
A tax with a fix amount
contains the amount information based on the type of prices
the actual unscaled amount based on list or customer
205987
the scale to be applied on the unscaled amount
2
the currency code following the ISO 4217 standard 3 letter in which the prices are being displayed
"EUR"
type of tax which is applicable to the underlying product.
"VAT"
This flag determines if the tax is a surcharge to be added to netPrice before applying Tax. The Tax computation happens on top of netPrice + surcharges
true
A tax represented by a percentage.
the percentage of the net price or the quote price if applicable
20.0
type of tax which is applicable to the underlying product.
"VAT"
This flag determines if the tax is a surcharge to be added to netPrice/promotionalNetPrice before applying Tax. The Tax computation happens on top of netPrice + surcharges
true
[
{
"type": "VAT",
"percentage": 21,
"isSurcharge": false
},
{
"type": "ECOTAX",
"taxAmount": {
"amount": 826,
"scale": 4,
"currency": "EUR"
},
"isSurcharge": true
}
]
Messages to be displayed to the user related to the quote line item
No Additional ItemsObject representing a message
Attribute describing the type of the message
"COMMUNICATION"
Text representing the message. The text is expected to be provided in the user's language.
"Best price for this product with availability over next 3 months"
Quantity of the line item that is already ordered by the Customer.
This is applicable to the Quote representing blanket order where the line item can be partially ordered by the Customer.
Value must be greater or equal to 1
10
[
{
"id": "4999569661752721000",
"quantity": 10,
"minOrderableQuantity": 1,
"maxOrderableQuantity": 100,
"requestedQuantity": 10,
"type": "OFFLINE_PRODUCT",
"productId": "4999569661752721000",
"productDetails": {
"productTitle": {
"en-GB": "SIEMENS Circuit Breaker",
"fr-FR": "Disjoncteur SIEMENS"
},
"brandName": "Siemens"
},
"prices": {
"netPrice": {
"amount": 1000,
"scale": 2,
"currency": "EUR"
},
"quotePrice": {
"amount": 800,
"scale": 2,
"currency": "EUR"
},
"listPrice": {
"amount": 900,
"scale": 2,
"currency": "EUR"
},
"totalPrice": {
"amount": 8000,
"scale": 2,
"currency": "EUR"
},
"type": "STANDARD",
"taxes": [
{
"type": "VAT",
"percentage": 21,
"isSurcharge": false
},
{
"type": "ECOTAX",
"taxAmount": {
"amount": 826,
"scale": 4,
"currency": "EUR"
},
"isSurcharge": true
}
]
}
},
{
"id": "4999569661752724322",
"quantity": 2,
"minOrderableQuantity": 1,
"maxOrderableQuantity": 100,
"requestedQuantity": 10,
"type": "PRODUCT",
"productId": "4999569661752721000",
"prices": {
"netPrice": {
"amount": 1000,
"scale": 2,
"currency": "EUR"
},
"totalPrice": {
"amount": 2000,
"scale": 2,
"currency": "EUR"
},
"type": "STANDARD",
"taxes": [
{
"type": "VAT",
"percentage": 21,
"isSurcharge": false
},
{
"type": "ECOTAX",
"taxAmount": {
"amount": 826,
"scale": 4,
"currency": "EUR"
},
"isSurcharge": true
}
]
}
}
]
Total price of the quote including discounts, surcharges and taxes (VAT). Mandatory if quote status is READYTOORDER.
{
"amount": 5400,
"scale": 2,
"currency": "EUR"
}
the actual unscaled amount based on list or customer
205987
the scale to be applied on the unscaled amount
2
the currency code following the ISO 4217 standard 3 letter in which the prices are being displayed
"EUR"
Total price of the quote including discounts and surcharges, excluding taxes (VAT). Mandatory if quote status is READYTOORDER.
{
"amount": 5100,
"scale": 2,
"currency": "EUR"
}
the actual unscaled amount based on list or customer
205987
the scale to be applied on the unscaled amount
2
the currency code following the ISO 4217 standard 3 letter in which the prices are being displayed
"EUR"
The total amount of each tax included in the line items within the quote
No Additional Itemscontains the tax information either as a percentage or exact amount. If percentage is sent by the OpCo, then the same percentage value will be displayed to the Customer instead of the tax amount.
A tax with a fix amount
contains the amount information based on the type of prices
the actual unscaled amount based on list or customer
205987
the scale to be applied on the unscaled amount
2
the currency code following the ISO 4217 standard 3 letter in which the prices are being displayed
"EUR"
type of tax which is applicable to the underlying product.
"VAT"
This flag determines if the tax is a surcharge to be added to netPrice before applying Tax. The Tax computation happens on top of netPrice + surcharges
true
A tax represented by a percentage.
the percentage of the net price or the quote price if applicable
20.0
type of tax which is applicable to the underlying product.
"VAT"
This flag determines if the tax is a surcharge to be added to netPrice/promotionalNetPrice before applying Tax. The Tax computation happens on top of netPrice + surcharges
true
[
{
"type": "VAT",
"isSurcharge": false,
"taxAmount": {
"amount": 12000,
"scale": 4,
"currency": "EUR"
}
},
{
"type": "ECOTAX",
"isSurcharge": true,
"taxAmount": {
"amount": 260,
"scale": 2,
"currency": "EUR"
}
}
]
Total amount of the discount included in the quote
{
"amount": 100,
"scale": 2,
"currency": "EUR"
}
the actual unscaled amount based on list or customer
205987
the scale to be applied on the unscaled amount
2
the currency code following the ISO 4217 standard 3 letter in which the prices are being displayed
"EUR"
Document references associated with the quote
No Additional ItemsInformation identifying a document for referencing purposes.
The id of the document
"4999569661752721026"
Name of the document as displayed to the customer
{
"fr-BE": "Résumé du devis",
"nl-BE": "Offerte samenvatting"
}
Each additional property must conform to the following schema
Type: stringThe actual file name that will be shown to the user
Must be at least 1 characters long
"Note de crédit"
"Creditnota"
The file extension of the document
Must match regular expression:^\.[a-zA-Z0-9]+(\.[a-zA-Z0-9]+)*$
Must be at least 1 characters long
".pdf"
".csv"
".txt"
Latest date on which the document has been modified, in ISO 8601 format.
"2022-06-22T08:30:22.804Z"
"2022-06-22T08:30:22Z"
[
{
"id": "4999569661752721026",
"name": {
"fr-BE": "Résumé du devis",
"nl-BE": "Offerte samenvatting"
},
"fileName": "Quote Summary 4999569661752721026",
"extension": ".pdf",
"lastModifiedDateTime": "2017-07-21T17:32:28Z"
}
]
Restrictions that are applied to this quote e.g. logistics method or facility
{
"logisticDetails": {
"logisticMethod": "PICK_UP",
"facilityId": "395"
}
}
Details of the logistic restrictions that apply to the quote
{
"logisticDetails": {
"logisticMethod": "PICK_UP",
"facilityId": "395"
}
}
Logistic method restricted for the quote
"PICK_UP"
Unique identifier of the facility used when logistic method is PICK_UP
"395"
Groups representing the quote line items within a quote
No Additional ItemsObject representing a group of line items within the quote
Unique identifier of the group within the Quote
"AD1"
Name of the group. Name is expected to be provided in the user's language.
"Building XYZ"
Line items that are included in the group.
No Additional ItemsThe line item within the group
The ID of the line item within the Quote. This ID should match the line item id within the quote line items
Must match regular expression:^[0-9]+$
"4999569661752721026"
{
"id": "AD1",
"name": "Building XYZ",
"lineItems": [
{
"id": "96122268053639168"
},
{
"id": "96121848778428416"
}
]
}
{
"id": "AD2",
"name": "Building ABC",
"lineItems": [
{
"id": "96122268053633333"
},
{
"id": "96121848778422222"
}
]
}
A boolean when true implies that the quote can be opted for express checkout by the Customer.
"false"
Margin of the total quote value
{
"marginValue": {
"amount": 100,
"scale": 2,
"currency": "EUR"
},
"marginPercentage": {
"percentageValue": 25
}
}
The margin monetary value
The unscaled amount of the margin
205987
The scale to be applied on the unscaled amount
2
The currency code following the ISO 4217 standard 3 letter in which the prices are being displayed
"EUR"
Margin percentage of the total quote value
Percentage to two decimal places
Value must be greater or equal to 0 and lesser or equal to 100 and a multiple of 0.01
25.5
50
75.75
{
"eventHeader": {
"source": "OPCO",
"version": "v1"
},
"quoteId": "96122368729817088",
"quoteName": "Site 1 quote",
"opcoId": "BEL-CEBEO",
"salesChannel": "TELESALES",
"status": "IN_REVIEW",
"createdDateTime": "2021-07-08T14:17:46.218772Z",
"expiryDateTime": "2021-07-21T14:17:46.218772Z",
"lastModifiedDateTime": "2021-07-11T14:17:46.218772Z",
"accountId": "59852",
"additionalInformation": {
"additionalReferences": [
{
"name": "warehouseName",
"value": "Z.I. Fourviere"
}
]
},
"contributors": [
{
"fullName": "XXXX XXXXXX",
"email": "xxx@xxxxxx.com",
"creator": true
}
],
"salesRepresentative": {
"firstname": "John",
"lastname": "Doe",
"email": "john.doe@standelec.com"
},
"lineItems": [
{
"id": "96122268053639168",
"quantity": 5,
"minOrderableQuantity": 1,
"maxOrderableQuantity": 100,
"requestedQuantity": 10,
"type": "PRODUCT",
"productId": "3618978",
"prices": {
"netPrice": {
"amount": 4426,
"scale": 2,
"currency": "EUR"
},
"quotePrice": {
"amount": 3426,
"scale": 2,
"currency": "EUR"
},
"totalPrice": {
"amount": 17130,
"scale": 2,
"currency": "EUR"
}
}
},
{
"id": "96121848778428416",
"quantity": 5,
"minOrderableQuantity": 1,
"maxOrderableQuantity": 100,
"requestedQuantity": 10,
"type": "OFFLINE_PRODUCT",
"productId": "4408098",
"offlineProduct": {
"productTitle": {
"en-GB": "Master Colour CDM-T 35W G12 4200K 3000lm CRI84",
"fr-FR": "Master Colour CDM-T 35W G12 4200K 3000lm CRI84"
},
"brandName": "Philips Lighting"
},
"prices": {
"netPrice": {
"amount": 1886,
"scale": 2,
"currency": "EUR"
},
"quotePrice": {
"amount": 1786,
"scale": 2,
"currency": "EUR"
}
}
},
{
"id": "96123759768322632",
"quantity": 10,
"minOrderableQuantity": 1,
"requestedCuts": [
{
"index": 0,
"quantity": 2,
"length": 5
},
{
"index": 1,
"quantity": 1,
"length": 10
}
],
"type": "PRODUCT",
"productId": "170720241512",
"productDetails": {
"productTitle": {
"en-GB": "EAX(e)CWB middenspanning monogeleider aluminium PE 8,7/15 kV 1X240mm² B-B",
"fr-FR": "EAX(e)CWB câble moyenne tension monoconduteurPE 8,7/15 kV 1X240mm² B-B"
},
"brandName": "MIDDENSPANNNINGSKA"
},
"prices": {
"netPrice": {
"amount": 60,
"scale": 2,
"currency": "EUR"
},
"quotePrice": {
"amount": 50,
"scale": 2,
"currency": "EUR"
}
}
}
],
"totalAmountIncludingTaxes": {
"amount": 5880,
"scale": 2,
"currency": "EUR"
},
"totalAmountIncludingSurcharges": {
"amount": 5700,
"scale": 2,
"currency": "EUR"
},
"totalDiscount": {
"amount": 660,
"scale": 2,
"currency": "EUR"
},
"restriction": {
"logisticDetails": {
"logisticMethod": "PICK_UP",
"facilityId": "395"
}
},
"documents": [
{
"id": "112233445",
"fileName": "Quote Document 112233445",
"extension": ".txt"
},
{
"id": "4999569661752721026",
"name": {
"fr-BE": "Résumé du devis",
"nl-BE": "Offerte samenvatting"
},
"fileName": "Quote Summary 4999569661752721026",
"extension": ".pdf",
"lastModifiedDateTime": "2017-07-21T17:32:28Z"
}
]
}