Bill
We collect data on the legislative process and the status of bills submitted for parliamentary consideration, with Bill representing each draft law.
Each bill is classified into 3 types (property classification in Bill) as follows:
NORMAL_BILL(Bill / Draft Act): General bills proposed by the Cabinet, Members of the House of Representatives (MPs), or eligible voters through a public petition.BUDGET_BILL(Annual Appropriation Bill): Bills concerning the allocation of the national budget.EMERGENCY_DECREE(Emergency Decree): Laws enacted by the King upon the advice and consent of the Cabinet, exercising constitutional power in cases of emergency.
Examples of the three bill types:
กฏหมายหรือร่างกฏหมาย
- id: 363e129f-ff85-4735-a072-7a2c1f724da2
- title: ร่างพระราชบัญญัติชั่วโมงปฏิบัติงานด้านสาธารณสุขที่เหมาะสมเพื่อความปลอดภัยของผู้ป่วย พ.ศ. ....
- classification: NORMAL_BILL
*Only showing nodes, properties, and relationships from the query see full schema
query Bills( $limit_a: Int $where_a: BillWhere $limit_b: Int $where_b: BillWhere $limit_c: Int $where_c: BillWhere) { normal_bills: bills(limit: $limit_a, where: $where_a) { id title classification } budget_bills: bills(limit: $limit_b, where: $where_b) { id title classification } emergency_decree: bills(limit: $limit_c, where: $where_c) { id title classification }}{ "limit_a": 1, "where_a": { "classification": { "eq": "NORMAL_BILL" } }, "limit_b": 1, "where_b": { "classification": { "eq": "BUDGET_BILL" } }, "limit_c": 1, "where_c": { "classification": { "eq": "EMERGENCY_DECREE" } }}{ "data": { "normal_bills": [ { "__typename": "Bill", "id": "363e129f-ff85-4735-a072-7a2c1f724da2", "title": "ร่างพระราชบัญญัติชั่วโมงปฏิบัติงานด้านสาธารณสุขที่เหมาะสมเพื่อความปลอดภัยของผู้ป่วย พ.ศ. ....", "classification": "NORMAL_BILL" } ], "budget_bills": [ { "__typename": "Bill", "id": "1952cf64-bee6-462e-bf9b-5ce579649666", "title": "ร่างพระราชบัญญัติงบประมาณรายจ่ายประจำปีงบประมาณ พ.ศ. 2567", "classification": "BUDGET_BILL" } ], "emergency_decree": [ { "__typename": "Bill", "id": "8e255f09-19b5-46a0-b864-416fbb2c40ae", "title": "พระราชกำหนดการประกอบธุรกิจสินทรัพย์ดิจิทัล (ฉบับที่ 2) พ.ศ. 2568", "classification": "EMERGENCY_DECREE" } ] }}Bill Proposers and Co-proposers
Section titled “Bill Proposers and Co-proposers”The origin of each bill can be classified into four proposer types (property creator_type in Bill):
POLITICIAN: Members of the House of Representatives (MPs)ASSEMBLY: The CabinetPEOPLE: Eligible votersUNKNOWN: Used in cases where the proposer group is unknown
Each bill links to detailed information about its proposers (property creators in Bill) based on the following conditions:
- In cases where the bill is proposed by the Cabinet, it links to the proposing Cabinet represented as an
Organization. - In cases where the bill is proposed by Members of the House of Representatives (MPs), it links to the proposing MPs represented as a
Person. Additionally, bills proposed by MPs can have co-proposers (propertyco_creatorsinBill), which link to the co-proposing MPs represented as aPerson. - In cases where the bill is proposed by eligible voters, there are no links to any specific proposer data.
Example of a bill proposed by Members of the House of Representatives (MPs)
กฏหมายหรือร่างกฏหมาย
- id: 363e129f-ff85-4735-a072-7a2c1f724da2
- title: ร่างพระราชบัญญัติชั่วโมงปฏิบัติงานด้านสาธารณสุขที่เหมาะสมเพื่อความปลอดภัยของผู้ป่วย พ.ศ. ....
- classification: NORMAL_BILL
- creator_type: POLITICIAN
- creators:
- Chuti Krairiksh
- co_creators:
- Chawengsak Rengpaiboonwong
- San Saetang
- Pongmanu Tongnak
- Tiwatrat Angkinantana
- Sutham Saengpratoom
- Watchara Yaworhasan
- Chaiwat Paopiamsap
- Punsak Boontan
- Thanompong Leekpai
- Daungrit Benjathikul Chairungruang
- Peeradej Siriwansant
- Tuangthip Jintawet
- Phattrapong Phattraprasit
- Anucha Burapachaisri
- Siriwan Prasjaksattru
- Vinai Phataraprasit
*Only showing nodes, properties, and relationships from the query see full schema
query Bills($limit: Int, $where: BillWhere) { bills(limit: $limit, where: $where) { id title classification creator_type creators { ... on Person { id name_en } } co_creators { id name_en } }}{ "limit": 1, "where": { "creator_type": { "eq": "POLITICIAN" } }}{ "data": { "bills": [ { "__typename": "Bill", "id": "363e129f-ff85-4735-a072-7a2c1f724da2", "title": "ร่างพระราชบัญญัติชั่วโมงปฏิบัติงานด้านสาธารณสุขที่เหมาะสมเพื่อความปลอดภัยของผู้ป่วย พ.ศ. ....", "classification": "NORMAL_BILL", "creator_type": "POLITICIAN", "creators": [ { "__typename": "Person", "id": "87709bdf-05c3-4931-b4ef-b0cfc89fcfe9", "name_en": "Chuti Krairiksh" } ], "co_creators": [ { "__typename": "Person", "id": "d938ab6e-9982-484b-ac1c-3aa11bd8835f", "name_en": "Phattrapong Phattraprasit" }, { "__typename": "Person", "id": "fb532407-e35b-4d3c-829e-ee6b96f7a89b", "name_en": "Vinai Phataraprasit" }, { "__typename": "Person", "id": "f3e40c1c-66e0-4851-a8af-91d0cbf384c2", "name_en": null }, { "__typename": "Person", "id": "a10ed763-3a6b-4868-8a49-e605480be035", "name_en": null }, { "__typename": "Person", "id": "5b7727bd-baeb-4bf4-a466-8a50cfd3fff7", "name_en": "Punsak Boontan" }, { "__typename": "Person", "id": "93ce9bea-41be-4bcb-b2fe-e96f247a4c25", "name_en": "Daungrit Benjathikul Chairungruang" }, { "__typename": "Person", "id": "1def7672-1c88-43ca-ac1c-d9a7df9cfe6a", "name_en": "Sutham Saengpratoom" }, { "__typename": "Person", "id": "364a0fd5-d95f-40cf-bbec-be14aa8f9025", "name_en": "Watchara Yaworhasan" }, { "__typename": "Person", "id": "df9c9715-481f-4f03-b8df-1a7f89666bd4", "name_en": "Anucha Burapachaisri" }, { "__typename": "Person", "id": "c7eabbd8-ed16-4dbb-95c8-f679e41b68fd", "name_en": "Tuangthip Jintawet" }, { "__typename": "Person", "id": "e3900dfb-c04e-4a0d-b130-8ed2801e2e95", "name_en": "Siriwan Prasjaksattru" }, { "__typename": "Person", "id": "bebb590e-7ceb-4556-aca1-737582f8482c", "name_en": "Peeradej Siriwansant" }, { "__typename": "Person", "id": "0b50da85-36d6-4078-ace1-210dfd655752", "name_en": "Chawengsak Rengpaiboonwong" }, { "__typename": "Person", "id": "0bb6efde-9e4e-4f58-b3c7-4ead8545abee", "name_en": "San Saetang" }, { "__typename": "Person", "id": "38567cee-5de9-4eac-b9a7-b49bdb86b59e", "name_en": "Chaiwat Paopiamsap" }, { "__typename": "Person", "id": "85821901-5b85-447e-9cb9-3fda5fa8ebfd", "name_en": "Thanompong Leekpai" }, { "__typename": "Person", "id": "0d0227d9-ea64-46e4-91c0-bbe5fd83dddd", "name_en": "Pongmanu Tongnak" }, { "__typename": "Person", "id": "1d7eb8c6-cf76-41c8-8be4-3558f86e57d0", "name_en": "Tiwatrat Angkinantana" } ] } ] }}Legislative Process
Section titled “Legislative Process”After each bill is proposed to Parliament, it enters the legislative process consisting of various sequential stages. These stages are stored as a list of events (property events in Bill).
Since each stage is represented by a specific event and requires different data points to be recorded, the system uses distinct Node types for each consideration stage as follows:
BillVoteEvent: Voting stageBillMergeEvent: Bill merging stage (merging multiple drafts into a primary bill)BillRoyalAssentEvent: Royal Assent stage (submission for Royal signature)BillEnactEvent: Enactment stage (promulgation as law)BillRejectEvent: Rejection stage (when a bill is dropped or fails)
Voting Stage (BillVoteEvent)
Section titled “Voting Stage (BillVoteEvent)”The voting stage is an event that records the parliamentary consideration and voting process to determine whether a bill will be approved or passed. The system separates these processes into the two main chambers: the House of Representatives and the Senate.
The consideration stages of each chamber are divided into three main readings (property classification in BillVoteEvent) as follows:
MP_1: House of Representatives - First ReadingMP_2: House of Representatives - Second ReadingMP_3: House of Representatives - Third ReadingSENATE_1: Senate - First ReadingSENATE_2: Senate - Second ReadingSENATE_3: Senate - Third Reading
During each reading, there may be votes on various specific details. This data links to VoteEvent, which stores the scoring details and individual votes (property vote_events in BillVoteEvent).
Example: The House of Representatives consideration of the Annual Appropriation Bill for Fiscal Year 2025 (Third Reading).
รายละเอียดการลงมติที่มาจากเว็บ lis
- id: b5813539-007a-47de-b09b-22f127e15aa8
- title: ร่างพระราชบัญญัติงบประมาณรายจ่ายประจำปีงบประมาณ พ.ศ. 2568 วาระที่ 3
- classification: MP_3
- bills:
- ร่างพระราชบัญญัติงบประมาณรายจ่ายประจำปีงบประมาณ พ.ศ. 2568
- vote_events:
- ร่างพระราชบัญญัติงบประมาณรายจ่ายประจำปีงบประมาณ พ.ศ. ๒๕๖๘ ซึ่งคณะกรรมาธิการวิสามัญพิจารณาเสร็จแล้ว
*Only showing nodes, properties, and relationships from the query see full schema
query BillVoteEvents($where: BillVoteEventWhere) { billVoteEvents(where: $where) { id title classification bills { id title classification } vote_events { id title classification result } }}{ "where": { "id": { "eq": "b5813539-007a-47de-b09b-22f127e15aa8" } }}{ "data": { "billVoteEvents": [ { "__typename": "BillVoteEvent", "id": "b5813539-007a-47de-b09b-22f127e15aa8", "title": "ร่างพระราชบัญญัติงบประมาณรายจ่ายประจำปีงบประมาณ พ.ศ. 2568 วาระที่ 3", "classification": "MP_3", "bills": [ { "__typename": "Bill", "id": "99956ddb-bd71-4489-93e4-ca3d4a3b495b", "title": "ร่างพระราชบัญญัติงบประมาณรายจ่ายประจำปีงบประมาณ พ.ศ. 2568", "classification": "BUDGET_BILL" } ], "vote_events": [ { "__typename": "VoteEvent", "id": "1fd8f053-9129-47e7-906e-df896f6aec6b", "title": "ร่างพระราชบัญญัติงบประมาณรายจ่ายประจำปีงบประมาณ พ.ศ. ๒๕๖๘ ซึ่งคณะกรรมาธิการวิสามัญพิจารณาเสร็จแล้ว", "classification": "MP_3", "result": "ผ่าน" } ] } ] }}Bill Merging Stage (BillMergeEvent)
Section titled “Bill Merging Stage (BillMergeEvent)”The bill merging stage is an event that occurs when multiple bills with similar content or principles are proposed to Parliament. The chamber resolves to consider these bills concurrently and designates one specific draft as the “Primary Bill” to serve as the basis for consideration in subsequent readings.
In terms of data structure, all Bill nodes within the same deliberation group link to the same BillMergeEvent, representing their common point of consideration.
The BillMergeEvent stores the ID (id) of the bill that the chamber resolved to use as the primary draft for further consideration (property main_bill_id in BillMergeEvent).
Example of a bill being designated as the Primary Bill by the House of Representatives:
การพิจารณาร่างพระราชบัญญัติ เป็นร่างหลัก
- id: f54b6def-9b4f-41d0-a6f3-72bdc7ae36af
- main_bill_id: af8a5c2c-6acb-47e0-b1b6-22016e6fed9c
- total_merged_bills: 5
- bills:
- ร่างพระราชบัญญัติระเบียบข้าราชการครูและบุคลากรทางการศึกษา (ฉบับที่ ..) พ.ศ ....
- ร่างพระราชบัญญัติยกเลิกคำสั่งหัวหน้าคณะรักษาความสงบแห่งชาติ ที่ 16/2560 เ้รื่อง เรื่อง การบริหารงานบุคคลของข้าราชการครูและบุคลากรทางการศึกษา ลงวันที่ 21 มีนาคม พุทธศักราช 2560 พ.ศ. ....
- ร่างพระราชบัญญัติยกเลิกคำสั่งหัวคณะรักษาความสงบแห่งชาติ ที่ 16/2560 เรื่อง การบริหารงานบุคคลของข้าราชการครูและบุคลากรทางการศึกษา ลงวันที่ 21 มีนาคม พุทธศักราช 2560 พ.ศ. ....
- ร่างพระราชบัญญัติระเบียบข้าราชการครูและบุคลากรทางการศึกษา (ฉบับที่ ..) พ.ศ. ....
- ร่างพระราชบัญญัติยกเลิกคำสั่งหัวหน้าคณะรักษาความสงบแห่งชาติ ที่ 16/2560 เรื่อง การบริหารงานบุคคลของข้าราชการครูและบุคลากรทางการศึกษา ลงวันที่ 21 มีนาคม พุทธศักราช 2560 พ.ศ. ....
*Only showing nodes, properties, and relationships from the query see full schema
query BillMergeEvents($where: BillMergeEventWhere) { billMergeEvents(where: $where) { id main_bill_id total_merged_bills bills { id title } }}{ "where": { "id": { "eq": "f54b6def-9b4f-41d0-a6f3-72bdc7ae36af" } }}{ "data": { "billMergeEvents": [ { "__typename": "BillMergeEvent", "id": "f54b6def-9b4f-41d0-a6f3-72bdc7ae36af", "main_bill_id": "af8a5c2c-6acb-47e0-b1b6-22016e6fed9c", "total_merged_bills": 5, "bills": [ { "__typename": "Bill", "id": "63ba6f67-c05f-4584-8d83-651010b5f8d9", "title": "ร่างพระราชบัญญัติยกเลิกคำสั่งหัวหน้าคณะรักษาความสงบแห่งชาติ ที่ 16/2560 เ้รื่อง เรื่อง การบริหารงานบุคคลของข้าราชการครูและบุคลากรทางการศึกษา ลงวันที่ 21 มีนาคม พุทธศักราช 2560 พ.ศ. ...." }, { "__typename": "Bill", "id": "1b4c1af5-cc5e-42a3-93f9-c0bb3ef1761e", "title": "ร่างพระราชบัญญัติระเบียบข้าราชการครูและบุคลากรทางการศึกษา (ฉบับที่ ..) พ.ศ ...." }, { "__typename": "Bill", "id": "8c27c524-ba43-49fd-afd9-a9e1107fceb1", "title": "ร่างพระราชบัญญัติยกเลิกคำสั่งหัวคณะรักษาความสงบแห่งชาติ ที่ 16/2560 เรื่อง การบริหารงานบุคคลของข้าราชการครูและบุคลากรทางการศึกษา ลงวันที่ 21 มีนาคม พุทธศักราช 2560 พ.ศ. ...." }, { "__typename": "Bill", "id": "b2c20678-b418-4e2b-b1b5-b0fe5a8bbeb1", "title": "ร่างพระราชบัญญัติยกเลิกคำสั่งหัวหน้าคณะรักษาความสงบแห่งชาติ ที่ 16/2560 \r\nเรื่อง การบริหารงานบุคคลของข้าราชการครูและบุคลากรทางการศึกษา ลงวันที่ 21 มีนาคม พุทธศักราช 2560 พ.ศ. ...." }, { "__typename": "Bill", "id": "af8a5c2c-6acb-47e0-b1b6-22016e6fed9c", "title": "ร่างพระราชบัญญัติระเบียบข้าราชการครูและบุคลากรทางการศึกษา (ฉบับที่ ..) พ.ศ. ...." } ] } ] }}Royal Assent Submission Stage (BillRoyalAssentEvent)
Section titled “Royal Assent Submission Stage (BillRoyalAssentEvent)”The Royal Assent submission stage is the event occurring after Parliament has approved a bill. The Prime Minister then proceeds to submit the bill to the King for the Royal Signature before it is officially promulgated as law.
The BillRoyalAssentEvent stores the record of the Royal Decision or the acceptance status of the bill (property result in BillRoyalAssentEvent).
Example of the Royal Assent submission stage for the Alcoholic Beverage Control Bill:
การนำขึ้นทูลเกล้าทูลกระหม่อมถวาย
- id: 0beac91b-e207-4476-acc7-09c91741caf9
- result: ทรงเห็นชอบ
- bills:
- พระราชบัญญัติควบคุมเครื่องดื่มแอลกอฮอล์ (ฉบับที่ ..) พ.ศ. ....
*Only showing nodes, properties, and relationships from the query see full schema
query BillRoyalAssentEvents($where: BillRoyalAssentEventWhere) { billRoyalAssentEvents(where: $where) { id result bills { id title } }}{ "where": { "id": { "eq": "0beac91b-e207-4476-acc7-09c91741caf9" } }}{ "data": { "billRoyalAssentEvents": [ { "__typename": "BillRoyalAssentEvent", "id": "0beac91b-e207-4476-acc7-09c91741caf9", "result": "ทรงเห็นชอบ", "bills": [ { "__typename": "Bill", "id": "018853fa-13f5-4d5b-b801-4f61e6359b75", "title": "พระราชบัญญัติควบคุมเครื่องดื่มแอลกอฮอล์ (ฉบับที่ ..) พ.ศ. ...." } ] } ] }}Bill Rejection Stage (BillRejectEvent)
Section titled “Bill Rejection Stage (BillRejectEvent)”The Bill Rejection Stage is an event that records the termination of a bill’s legislative process. This occurs when a bill fails to receive approval or when specific circumstances prevent the bill from proceeding through the legislative steps to completion.
BillRejectEvent stores the reason or cause for the bill being dropped (property reject_reason in BillRejectEvent). Common reasons include: the House of Representatives resolving not to accept the principles, the bill being withdrawn by the proposer, or the bill being dropped due to the dissolution of Parliament.
Example of the rejection stage for the National Fisheries Fund Bill, which was dropped due to the dissolution of Parliament.
การประกาศร่างตกไป
- id: 55fa6fde-3ed3-4b4e-9665-bccadc5646f2
- reject_reason: ตกไปเนื่องจากยุบสภา
- bills:
- ร่างพระราชบัญญัติกองทุนการประมงแห่งชาติ พ.ศ. ....
*Only showing nodes, properties, and relationships from the query see full schema
query BillRejectEvents($where: BillRejectEventWhere) { billRejectEvents(where: $where) { id reject_reason bills { id title } }}{ "where": { "id": { "eq": "55fa6fde-3ed3-4b4e-9665-bccadc5646f2" } }}{ "data": { "billRejectEvents": [ { "__typename": "BillRejectEvent", "id": "55fa6fde-3ed3-4b4e-9665-bccadc5646f2", "reject_reason": "ตกไปเนื่องจากยุบสภา", "bills": [ { "__typename": "Bill", "id": "c499a446-8527-4c09-9d7c-b8cb2ae4ce89", "title": "ร่างพระราชบัญญัติกองทุนการประมงแห่งชาติ พ.ศ. ...." } ] } ] }}Current Status of a Bill
Section titled “Current Status of a Bill”Each bill displays a current status, which summarizes the latest event that has occurred in its legislative process (property status in Bill). There are 4 possible status types:
IN_PROGRESS(In Progress): Used for bills still undergoing parliamentary consideration (Readings 1-3) or in the process of being submitted for Royal Assent, where the deliberation is not yet complete or a final outcome has not been reached.MERGED(Merged): Used for bills that the chamber has resolved to “merge” into another primary bill. Consequently, tracking for this specific draft ends, and further progress must be followed via the primary bill instead (see more details inBillMergeEvent).ENACTED(Enacted): A positive final status, meaning the bill has received the Royal Signature and has been published in the Royal Gazette to be enforced as law (BillEnactEvent).REJECTED(Rejected / Dropped): A negative final status, meaning the consideration process has ended because the bill was voted down, withdrawn, or dropped according to constitutional conditions (BillRejectEvent).
Data Updates and Publish Status
Section titled “Data Updates and Publish Status”Data on bill proposals and the legislative process is scraped weekly from the Legislative Information System website of the Secretariat of the House of Representatives by an automation system and imported into the database.