Skip to content

UPDATE bookings with broken state

List dangling non-completed bookings across all organizations and how many there are and group by organization and the state of the booking:

tms_booking=> SELECT org_index, COUNT(state) FROM booking WHERE state IN ('3', '4', '5', '7', '8','11') AND pickup_booked < '2025-08-25 00:00:00' GROUP BY org_index, state;

Tested with one from HelsinginMPK that was from yesterday:

tms_booking=> SELECT state, COUNT(state) FROM booking WHERE org_index = 11 AND state IN ('3', '4', '5', '7', '8','11') AND pickup_booked < '2025-08-25 00:00:00' AND pickup_booked > '2025-08-23 23:59:59' GROUP BY state;
-[ RECORD 1 ]
state | 7
count | 1
tms_booking=> BEGIN ;
BEGIN
tms_booking=*> UPDATE booking SET state = 9 WHERE org_index = 11 AND state IN ('3', '4', '5', '7', '8','11') AND pickup_booked < '2025-08-25 00:00:00' AND pickup_booked > '2025-08-23 23:59:59';
UPDATE 1
tms_booking=*> COMMIT ;
COMMIT

Updated all 2121 dangling non-completed bookings across all organizations:

tms_booking=> BEGIN ;
BEGIN
tms_booking=*> UPDATE booking SET state = 9 WHERE state IN ('3', '4', '5', '7', '8','11') AND pickup_booked < '2025-08-25 00:00:00';
UPDATE 2121
tms_booking=*> COMMIT ;
COMMIT