<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="http://www.awareim.com/dokuwiki/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="http://www.awareim.com/dokuwiki/feed.php">
        <title>Documentation - docs:6000_case_study:0400_configuration:0600_business_rules</title>
        <description></description>
        <link>http://www.awareim.com/dokuwiki/</link>
        <image rdf:resource="http://www.awareim.com/dokuwiki/_media/logo.png" />
       <dc:date>2026-06-03T10:04:43+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="http://www.awareim.com/dokuwiki/docs/6000_case_study/0400_configuration/0600_business_rules/0100_item_object?rev=1749695727&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.awareim.com/dokuwiki/docs/6000_case_study/0400_configuration/0600_business_rules/0200_member_object?rev=1749700827&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.awareim.com/dokuwiki/docs/6000_case_study/0400_configuration/0600_business_rules/0300_loan_object?rev=1749695727&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.awareim.com/dokuwiki/docs/6000_case_study/0400_configuration/0600_business_rules/0400_reservation_object?rev=1749695727&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.awareim.com/dokuwiki/docs/6000_case_study/0400_configuration/0600_business_rules/0500_payment_object?rev=1663092920&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="http://www.awareim.com/dokuwiki/_media/logo.png">
        <title>Documentation</title>
        <link>http://www.awareim.com/dokuwiki/</link>
        <url>http://www.awareim.com/dokuwiki/_media/logo.png</url>
    </image>
    <item rdf:about="http://www.awareim.com/dokuwiki/docs/6000_case_study/0400_configuration/0600_business_rules/0100_item_object?rev=1749695727&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-06-12T02:35:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Item Object</title>
        <link>http://www.awareim.com/dokuwiki/docs/6000_case_study/0400_configuration/0600_business_rules/0100_item_object?rev=1749695727&amp;do=diff</link>
        <description>Item Object

We have defined two calculated attributes for the Item object – “Available” and “CurrentReservation” (see “Calculated Attributes” section above), so we need to define two rules that calculate these attributes.

&quot;Item availability&quot; Rule</description>
    </item>
    <item rdf:about="http://www.awareim.com/dokuwiki/docs/6000_case_study/0400_configuration/0600_business_rules/0200_member_object?rev=1749700827&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-06-12T04:00:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Member Object</title>
        <link>http://www.awareim.com/dokuwiki/docs/6000_case_study/0400_configuration/0600_business_rules/0200_member_object?rev=1749700827&amp;do=diff</link>
        <description>Member Object

For the Member object we have two calculated attributes that we need to enter the rules for – the MemberNumber attribute identifying the unique number of a member in the system and the OutstandingCharges attribute.

&quot;Membership number&quot; Rule.</description>
    </item>
    <item rdf:about="http://www.awareim.com/dokuwiki/docs/6000_case_study/0400_configuration/0600_business_rules/0300_loan_object?rev=1749695727&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-06-12T02:35:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Loan Object</title>
        <link>http://www.awareim.com/dokuwiki/docs/6000_case_study/0400_configuration/0600_business_rules/0300_loan_object?rev=1749695727&amp;do=diff</link>
        <description>Loan Object

This object will have a lot more rules since it has a distinct life cycle. Let us define this life cycle first before defining the rules. 

A loan is created in the New state. In this state the loan is considered to be invalid. The loan validates itself and if validation is OK the loan moves itself to the</description>
    </item>
    <item rdf:about="http://www.awareim.com/dokuwiki/docs/6000_case_study/0400_configuration/0600_business_rules/0400_reservation_object?rev=1749695727&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-06-12T02:35:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Reservation Object</title>
        <link>http://www.awareim.com/dokuwiki/docs/6000_case_study/0400_configuration/0600_business_rules/0400_reservation_object?rev=1749695727&amp;do=diff</link>
        <description>Reservation Object

We will now define the rules of the Reservation object. This object also has a distinct life cycle, so let us define the life cycle first.

A reservation is created in the New state. Just like the Loan object, a reservation in this state is considered to be invalid. If validation proves to be OK, the reservation automatically moves itself into the</description>
    </item>
    <item rdf:about="http://www.awareim.com/dokuwiki/docs/6000_case_study/0400_configuration/0600_business_rules/0500_payment_object?rev=1663092920&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-09-13T18:15:20+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Payment Object</title>
        <link>http://www.awareim.com/dokuwiki/docs/6000_case_study/0400_configuration/0600_business_rules/0500_payment_object?rev=1663092920&amp;do=diff</link>
        <description>Payment Object

We will add a validation rule that checks that payment amount does not exceed outstanding charges of a member (Payment amount validation rule):

IF Payment.Amount &gt; Payment.Member.OutstandingCharges THEN
   REPORT ERROR &#039;Payment amount cannot exceed outstanding charges.&#039;</description>
    </item>
</rdf:RDF>
