Table
purchase_order
One sale: the channel (website, ticket desk, audio-guide desk, app store), when, and its payment.
Replaces in 2020: Invoices
Rows 1–25 of 5,412
| order_idINTEGER | channelTEXT | entrance_id→ entrance.entrance_id | wing_id→ wing.wing_id | payment_id→ payment.payment_id | ordered_atTEXT |
|---|---|---|---|---|---|
| 1 | online | NULL | NULL | 1 | 2015-02-08 10:44:02 |
| 2 | online | NULL | NULL | 2 | 2015-02-09 14:11:10 |
| 3 | online | NULL | NULL | 3 | 2015-02-13 20:52:51 |
| 4 | online | NULL | NULL | 4 | 2015-02-17 12:45:36 |
| 5 | online | NULL | NULL | 5 | 2015-02-19 16:08:44 |
| 6 | online | NULL | NULL | 6 | 2015-02-28 14:34:41 |
| 7 | online | NULL | NULL | 7 | 2015-03-01 07:49:56 |
| 8 | audio_guide_desk | NULL | 2 | 8 | 2015-03-01 10:39:00 |
| 9 | online | NULL | NULL | 9 | 2015-03-01 14:52:29 |
| 10 | app_store | NULL | NULL | 10 | 2015-03-02 05:03:32 |
| 11 | app_store | NULL | NULL | 11 | 2015-03-02 05:52:53 |
| 12 | ticket_desk | 1 | NULL | 12 | 2015-03-02 09:58:14 |
| 13 | online | NULL | NULL | 13 | 2015-03-02 22:24:08 |
| 14 | online | NULL | NULL | 14 | 2015-03-02 23:54:32 |
| 15 | online | NULL | NULL | 15 | 2015-03-04 11:27:43 |
| 16 | online | NULL | NULL | 16 | 2015-03-05 10:37:01 |
| 17 | ticket_desk | 5 | NULL | 17 | 2015-03-05 11:36:43 |
| 18 | online | NULL | NULL | 18 | 2015-03-05 23:00:21 |
| 19 | app_store | NULL | NULL | 19 | 2015-03-06 05:58:37 |
| 20 | online | NULL | NULL | 20 | 2015-03-06 09:58:12 |
| 21 | ticket_desk | 1 | NULL | 21 | 2015-03-06 10:13:39 |
| 22 | ticket_desk | 5 | NULL | 22 | 2015-03-06 10:38:19 |
| 23 | ticket_desk | 1 | NULL | 23 | 2015-03-06 12:43:40 |
| 24 | audio_guide_desk | NULL | 2 | 24 | 2015-03-06 13:24:52 |
| 25 | ticket_desk | 2 | NULL | 25 | 2015-03-07 10:39:25 |
Table definition
CREATE TABLE purchase_order (
order_id INTEGER PRIMARY KEY,
channel TEXT NOT NULL
CHECK (channel IN ('online', 'ticket_desk', 'audio_guide_desk', 'app_store')),
entrance_id INTEGER REFERENCES entrance (entrance_id),
wing_id INTEGER REFERENCES wing (wing_id),
payment_id INTEGER NOT NULL UNIQUE REFERENCES payment (payment_id),
ordered_at TEXT NOT NULL,
CHECK ((channel = 'ticket_desk') = (entrance_id IS NOT NULL)),
CHECK ((channel = 'audio_guide_desk') = (wing_id IS NOT NULL))
) STRICT;