Expose pending service pricing in facility UI
Show normal usage fees separately from the unspecified desire-match surcharge. Preserve free reception and omit guest pricing from warehouse and cleaning rooms. Validation: 155 suites / 12,310 checks; focused 700 checks; strict state and event equivalence; 16 normal and compact FRONT/BACK captures.
This commit is contained in:
@@ -12182,6 +12182,14 @@ func get_facility_business_price(facility: FacilityInstance) -> int:
|
||||
return FacilityPricing.apply_multiplier(donation, get_floor_price_multiplier(facility.origin.y))
|
||||
|
||||
|
||||
## Owned presentation data; accepted request/service quotations stay frozen.
|
||||
## Matching-surcharge charging remains pending until its inputs are specified.
|
||||
func get_facility_service_pricing_readmodel(facility: FacilityInstance) -> Dictionary:
|
||||
return FacilityPricing.pending_service_readmodel(
|
||||
get_facility_business_price(facility), facility.service_attribute
|
||||
)
|
||||
|
||||
|
||||
func _business_base_price(facility: FacilityInstance) -> int:
|
||||
return 0 if facility.definition_id == &"reception" else facility.base_price
|
||||
|
||||
@@ -12206,6 +12214,7 @@ func get_business_management_report() -> Dictionary:
|
||||
continue
|
||||
var amounts: Dictionary = totals.get(facility.instance_id, {})
|
||||
var base := _business_base_price(facility)
|
||||
var service_pricing := get_facility_service_pricing_readmodel(facility)
|
||||
var queued_customers: Dictionary = {}
|
||||
for request: ServiceRequest in facility_service.get_queue(facility.instance_id):
|
||||
for guest_id: StringName in request.guest_ids:
|
||||
@@ -12213,6 +12222,7 @@ func get_business_management_report() -> Dictionary:
|
||||
rows.append({
|
||||
&"facility_id": facility.instance_id,
|
||||
&"definition_id": facility.definition_id,
|
||||
&"category": definition.category,
|
||||
&"display_name": definition.display_name,
|
||||
&"origin": Vector2i(facility.origin.x, facility.origin.y),
|
||||
&"layer": facility.origin.z,
|
||||
@@ -12220,7 +12230,8 @@ func get_business_management_report() -> Dictionary:
|
||||
&"business_open": facility.operator_open,
|
||||
&"price_mode": StringName(facility.policy_current.get(&"price_mode", &"standard")),
|
||||
&"base_price": base,
|
||||
&"price": get_facility_business_price(facility),
|
||||
&"price": service_pricing[&"normal_price"],
|
||||
&"service_pricing": service_pricing,
|
||||
&"floor_price_multiplier_bp": get_floor_price_multiplier(facility.origin.y),
|
||||
&"donation_multiplier": get_donation_multiplier(facility),
|
||||
&"faith_per_service": definition.faith_per_service,
|
||||
|
||||
Reference in New Issue
Block a user