aonestar
.public
Tables
(current)
Columns
Constraints
Relationships
Orphan Tables
Anomalies
Routines
fn_nbis_mapping_json
Parameters
Name
Type
Mode
Definition
SELECT jsonb_build_object( 'mode', CASE WHEN coalesce(fn_intf_param('NBIS', 'MAP_RATE_DETAILS', false), false) THEN 'detail' ELSE 'plan' END, 'room_types', ( SELECT coalesce(jsonb_agg(jsonb_build_object( 'id', r.id, 'code', r.code::text, 'name', r.name, 'channel_codes', to_jsonb(coalesce(r.channel_codes, '{}'::text[]))) ORDER BY r.order_seq NULLS LAST, r.code), '[]'::jsonb) FROM room_type r WHERE coalesce(r.enabled, true) ), 'rate_plans', ( SELECT coalesce(jsonb_agg(jsonb_build_object( 'id', p.id, 'code', p.code::text, 'name', p.name, 'plan_type', p.plan_type, 'link_plan_id', p.link_plan_id, 'channel_codes', to_jsonb(coalesce(p.channel_codes, '{}'::text[])), 'channel_linked', coalesce(p.channel_linked, false)) ORDER BY p.order_seq NULLS LAST, p.code), '[]'::jsonb) FROM rate_plan p WHERE coalesce(p.enabled, true) ), 'rate_details', ( SELECT coalesce(jsonb_agg(jsonb_build_object( 'rate_id', d.rate_id, 'rateplan_id', d.rateplan_id, 'roomtype_id', d.roomtype_id, 'code', d.code::text, 'link_rate_id', d.link_rate_id, 'channel_codes', to_jsonb(coalesce(d.channel_codes, '{}'::text[])), 'channel_linked', coalesce(d.channel_linked, false)) ORDER BY r.order_seq NULLS LAST, r.code, p.order_seq NULLS LAST, p.code), '[]'::jsonb) FROM rate_details d JOIN room_type r ON r.id = d.roomtype_id JOIN rate_plan p ON p.id = d.rateplan_id WHERE coalesce(r.enabled, true) AND coalesce(p.enabled, true) ) )