Skip to main content

B1RestaurantOrderTicket

  • Restaurant order ticket - the tracking unit for a single order (BL-58465).
    * All restaurant features (ordering, cooking, serving, eating, payment) are driven by this struct's state.
    * It is stored and serialized as a TArray on FB2HouseholdBiz.
PropertyTypeDescriptionMetadata
EaterIdFB1EntityIdEntity ID of the character who receives and eats the ordered dish.
EaterHouseholdEntityIdFB1EntityIdHousehold entity ID snapshotted when the order is placed.
PayerIdFB1EntityIdCanonical party representative captured at order time; any ticket EaterId in the settlement group may pay.
SettlementGroupIdFB1RestaurantSettlementGroupIdStable identifier shared by every order ticket committed in one restaurant party order.
OriginalPriceSnapshotint64Menu item's original price captured at order commit, before quality, business level and price-policy multipliers.
PaymentPriceSnapshotint64Final customer payment price calculated with the High quality rate at order commit and charged unchanged after the meal.
SettlementStateEB1RestaurantSettlementStatePersistent settlement lifecycle shared by every ticket in SettlementGroupId.
SeatEntityIdFB1EntityIdEntity ID of the seat (slot owner chair) registered to the eater.
TableEntityIdFB1EntityIdEntity ID of the table (desk) unit the seat belongs to.
ServedFoodEntityIdFB1EntityId* Entity ID of the exact ServedFood spawned for this ticket.
* It is committed atomically with Ready -> Served and remains authoritative after the food leaves its table slot.
RecipeIdFNameOrdered recipe ID; only Served-type recipes are orderable.
QualityGradeEB1QualityQuality grade rolled once when a chef claims the cooking batch; None while the ticket is still Ordered.
StateEB1OrderStateCurrent order state in the ticket state machine.
StateEnterTicksint64Game tick when the ticket entered the current state; used for ordering and restored-state bookkeeping.
bMealFinishedboolSet when the eater's RestaurantEat action finished. The restaurant reconciler is the only writer of State,
so it converts this flag into Eaten instead of the action doing the transition itself.
bBilledOnDepartureboolSet when the ticket is cancelled because its eater left the site mid-service. The order is still charged to
the party, so IsBillable() keeps it in the settlement total even though the meal was never completed.