@hyperscale0/hsx 5.5.0 → 5.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/std/travel.hsx CHANGED
@@ -81,11 +81,11 @@ instrument booking(package: ref<travel.package>, buyer: party, supplier: party,
81
81
  from: paid, to: refunded, actor: clock, due: { at: self.confirmBy }
82
82
  moves self.price from self.held to buyer economics { purpose: principal, sourceParty: programOperator }
83
83
  }
84
- action cancel_early { allowZero: true, requires self.price > "0";
84
+ action cancel_early { allowZero: true, purpose: option, requires self.price > "0";
85
85
  from: [deposit_paid, paid], to: cancelled, actor: { party: buyer }, deadline: { at: self.earlyAt }
86
86
  moves self.held.balance from self.held to buyer economics { purpose: principal, sourceParty: programOperator }
87
87
  }
88
- action cancel_middle { allowZero: true, requires self.price > "0";
88
+ action cancel_middle { allowZero: true, purpose: option, requires self.price > "0";
89
89
  from: [deposit_paid, paid], to: cancelled, actor: { party: buyer }, due: { at: self.earlyAt }, deadline: { at: self.lateAt }
90
90
  calculate: [
91
91
  { target: refund, op: "subtract", base: { field: self.held.balance }, subtract: [{ field: self.deposit }] }
@@ -98,7 +98,7 @@ instrument booking(package: ref<travel.package>, buyer: party, supplier: party,
98
98
  moves self.retainedTax from self.held to programTax economics { purpose: pass_through, sourceParty: programOperator }
99
99
  moves self.retainedNet from self.held to operator economics { recipient: operator, company: { purpose: earning, sourceParty: buyer }, participant: { purpose: participant_payout, sourceParty: programOperator } }
100
100
  }
101
- action cancel_late { allowZero: true, requires self.price > "0";
101
+ action cancel_late { allowZero: true, purpose: option, requires self.price > "0";
102
102
  from: [deposit_paid, paid], to: cancelled, actor: { party: buyer }, due: { at: self.lateAt }
103
103
  calculate: [
104
104
  { target: retainedMargin, op: "subtract", base: { field: self.held.balance }, subtract: [{ field: self.latePenalty }] }