Skip to main content

create_quote/
create_quote.rs

1//! Create Quote Example
2use tmflib::common::price::Price;
3use tmflib::tmf648::{quote::Quote, quote_item::QuoteItem, quote_price::QuotePrice};
4
5fn main() {
6    // Create a quote using various components
7
8    // First create a quote item
9    let mut item = QuoteItem::new();
10    // Create a price for this item
11    let price = Price::new_ex(100.0);
12    // Add price to QuotePrice and set period
13    let quote_price = QuotePrice::new("Subscription")
14        .price(price)
15        .period("Monthly");
16    // add QuotePrice to item
17    item.price(quote_price);
18    // Create the new Quote
19    let mut quote = Quote::new();
20    // Add the item to the quote
21    let _result = quote.add_quote_item(item);
22    // Set the external Id
23    let _result = quote.with_external_id(String::from("EXT123"));
24
25    // Create a total price for the quote
26    let total_price = Price::new_ex(3600.0);
27
28    // Create QuotePrice object for the total price and set period
29    let quote_total_price = QuotePrice::new("Total Contract")
30        .price(total_price)
31        .period("Contract");
32    // Add QuotePrice to quote
33    quote.price(quote_total_price);
34
35    dbg!(&quote);
36}