Table
purchase_order
One sale: the channel (website, ticket desk, audio-guide desk, app store), when, and its payment.
Replaces in 2020: Invoices
Rows 5,401–5,412 of 5,412
| order_idINTEGER | channelTEXT | entrance_id→ entrance.entrance_id | wing_id→ wing.wing_id | payment_id→ payment.payment_id | ordered_atTEXT |
|---|---|---|---|---|---|
| 5401 | online | NULL | NULL | 5401 | 2020-02-22 09:22:44 |
| 5402 | app_store | NULL | NULL | 5402 | 2020-02-22 11:46:56 |
| 5403 | online | NULL | NULL | 5403 | 2020-02-23 17:00:12 |
| 5404 | app_store | NULL | NULL | 5404 | 2020-02-24 01:32:13 |
| 5405 | app_store | NULL | NULL | 5405 | 2020-02-24 09:04:21 |
| 5406 | audio_guide_desk | NULL | 3 | 5406 | 2020-02-24 12:05:36 |
| 5407 | audio_guide_desk | NULL | 2 | 5407 | 2020-02-24 16:10:59 |
| 5408 | online | NULL | NULL | 5408 | 2020-02-24 23:08:17 |
| 5409 | online | NULL | NULL | 5409 | 2020-02-26 07:02:15 |
| 5410 | online | NULL | NULL | 5410 | 2020-02-28 07:08:45 |
| 5411 | app_store | NULL | NULL | 5411 | 2020-02-29 01:37:23 |
| 5412 | app_store | NULL | NULL | 5412 | 2020-02-29 02:06:12 |
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;