Offer
Overview
Offer is a product included in a proposal.
Fields usually used
Fields | Description |
---|---|
createdAt | the timestamp when the offer was created |
createdBy | the id of entity who create the offer |
endDate | the endDate of the offer |
events | a list of change events happened to the offer |
fields | dynamic fields associated with the offer (usually in form of json) |
id | the id automatically generated when the offer was created |
lastModifiedAt | the timestamp when the offer was last modified |
lastModifiedBy | the id of entity who last modified the offer |
offerNumber | a string indicating the offerNumber of the offer for reference |
pricing | information on pricing, which is the result of execution of pricing scripts |
product | the product associated with the offer |
stakeHolders | a list of entities who are stakeHolders of the offer |
status | the status of the offer |
startDate | the startDate of the offer |
To see a full list of fields please visit our Playground
Add Offer to Proposal
Query Examples
mutation addOfferToProposal(
$caseId:String!
$proposalId:String!
$input:addOfferInput!
) {
addOfferToProposal(
caseId: $caseId
proposalId: $proposalId
input: $input
){
status
createdStatus { id }
errors
}
}
Input:
{
"caseId": "c1e3c643-085c-4e41-abfe-ba366fbbf714",
"proposalId": "98fe72db-bc18-4ca7-9709-eacc3ae840bf",
"input": {
"productId": {
"type": "Demo Insurance",
"version":"1",
"plan":"Demo Insurance Plan 1"
}
}
}
Example Result:
{
"data": {
"addOfferToProposal": {
"status": "success",
"createdStatus": {
"id": "8702d7b4-63fb-4797-a7bb-2941fbf946ac"
},
"errors": null
}
}
}
Querying Offer of Proposal in Case
Query Examples
query casesOffer($caseWhere:caseWhere, $proposalWhere:proposalWhere){
cases (where: $caseWhere){
list{
proposals(where: $proposalWhere) {
id
basket {
createdAt
createdBy { id }
endDate
events { type timestamp }
fields
id
lastModifiedAt
lastModifiedBy { id }
offerNumber
pricing
product { productId { type plan version } }
stakeholders { id }
status
startDate
}
}
}
}
}
Input:
{
"caseWhere": { "id": "c1e3c643-085c-4e41-abfe-ba366fbbf714"},
"proposalWhere": { "id": "98fe72db-bc18-4ca7-9709-eacc3ae840bf" }
}
Example Result:
{
"data": {
"cases": {
"list": [
{
"proposals": [
{
"id": "98fe72db-bc18-4ca7-9709-eacc3ae840bf",
"basket": [
{
"createdAt": "2021-04-29T02:24:55.074Z",
"createdBy": {
"id": "60810024052f07644d0c3495"
},
"endDate": null,
"events": [
{
"type": "addOffer",
"timestamp": "2021-04-29T02:24:55.074Z"
}
],
"fields": null,
"id": "3ead6122-e85b-4074-a2aa-fd6bb1489453",
"lastModifiedAt": "2021-04-29T02:24:55.074Z",
"lastModifiedBy": {
"id": "60810024052f07644d0c3495"
},
"offerNumber": "2Y83IQ",
"pricing": null,
"product": {
"productId": {
"type": "Demo Insurance",
"plan": "Demo Insurance Plan 1",
"version": "1"
}
},
"stakeholders": null,
"status": null,
"startDate": null
},
{
"createdAt": "2021-04-29T02:26:22.765Z",
"createdBy": {
"id": "60810024052f07644d0c3495"
},
"endDate": null,
"events": [
{
"type": "addOffer",
"timestamp": "2021-04-29T02:26:22.765Z"
}
],
"fields": null,
"id": "8702d7b4-63fb-4797-a7bb-2941fbf946ac",
"lastModifiedAt": "2021-04-29T02:26:22.765Z",
"lastModifiedBy": {
"id": "60810024052f07644d0c3495"
},
"offerNumber": "8YYGQ5",
"pricing": null,
"product": {
"productId": {
"type": "Demo Insurance",
"plan": "Demo Insurance Plan 1",
"version": "1"
}
},
"stakeholders": null,
"status": null,
"startDate": null
}
]
}
]
}
]
}
}
}
A Note on Fields
Offer.fields
are dynamic data associated with the offer. Literally, you can add anything in fields
.
One example usecase of fields
is it can be used as the dataInput
of pricing calculation for the offer For more information, please refer to Script.
.