41 lines
1.4 KiB
TypeScript
41 lines
1.4 KiB
TypeScript
/**
|
|
* Sale as returned by Hiboutik `GET /sales/:sale_id`, with its lines.
|
|
* Only the fields used by the sync are typed: the payload also carries many computed copies (dates split in parts,
|
|
* totals by tax, customer and store details...).
|
|
*/
|
|
export interface SaleHiboutikDto {
|
|
sale_id: number;
|
|
/** Local time, "YYYY-MM-DD HH:mm:ss". */
|
|
created_at: string;
|
|
/** Local time, "0000-00-00 00:00:00" while the sale is not completed. */
|
|
completed_at: string;
|
|
store_id: number;
|
|
customer_id: number;
|
|
currency: string;
|
|
/** Decimal as a string, taxes included. */
|
|
total: string;
|
|
/** Payment type code, e.g. "CB", "ESP", "WEB". */
|
|
payment: string;
|
|
/** 1 for a quotation. */
|
|
quotation: number;
|
|
line_items: SaleLineHiboutikDto[];
|
|
}
|
|
|
|
/** Line of a {@link SaleHiboutikDto}: a snapshot of the product at sale time. */
|
|
export interface SaleLineHiboutikDto {
|
|
line_item_id: number;
|
|
product_id: number;
|
|
/** Hiboutik size id, 0 for a product without sizes. */
|
|
product_size: number;
|
|
/** Negative for a returned item. */
|
|
quantity: number;
|
|
product_model: string;
|
|
product_barcode: string;
|
|
/** Size name, empty for a product without sizes. */
|
|
size_name: string;
|
|
/** Unit price before discount, taxes included (decimal as a string). */
|
|
item_unit_gross_wo_discount: string;
|
|
/** Unit price actually paid, discount deducted, taxes included (decimal as a string). */
|
|
item_unit_gross: string;
|
|
}
|