Create a domain class model diagram for the use case. "Add a listing" Case Study:

Real Estate Multiple Listing Service (MLS)
The Real Estate Multiple Listing Service (MLS) system provides information that local real estate agents use to help them sell homes to their clients. During the month, agents list homes for sale (lintings) by contracting with homeowners. The agent works for a real estate office, which sends information about the listing to the multiple listing service. Therefore, any agent in the community can find information about the listing. Information on a listing includes the address, year built, square feet, number of bedrooms, number of bathrooms, owner name, owner phone number, asking price and status code. An agent can directly request information about listings that match the customer's requirements at any time during the month, so the agent contacts the mujiple listing service with the request. Information is provided about the home, about the agent who listed the home, and about the real estate office the agent works for. For example, an agent may want to call the MLS agent to ask additional questions or call the homeowner directly to make an appointment to show the home. Twice each month (on the 15th and 30th) the multiple listing service produces a listing book that contains information about all listings. These books are sent to all the estate agents. Many estate agents want the books (which are easier to browse) to be provided, even though the information is often out of date. Sometimes agents and owners decide to change information about a listing, such as lowering the price, correcting previous information about the home, or indicating that the home has been sold. The real estate office sends these change requests to the multiple listing service when the agent asks the office to do so.

Domain Class Model Diagram:

MLS:
- listingService
- generateListingBook()
- updateListing()
- getListingsMatchingRequirements()

Listing:
- address
- yearBuilt
- squareFeet
- numBedrooms
- numBathrooms
- ownerName
- ownerPhoneNumber
- askingPrice
- statusCode

Agent:
- name
- contactNumber

RealEstateOffice:
- name
- listings
- agent

ChangeRequest:
- listingID
- fieldToChange
- newValue

ListingBook:
- dateCreated
- listingsgetListingsMatchingRequirements()

MLSAgent:
- name
- contactNumber
- office

Owner:
- name
- phoneNumber
- propertyOwned

MLSListing:
- listingID
- address
- yearBuilt
- squareFeet
- numBedrooms
- numBathrooms
- ownerName
- ownerPhoneNumber
- askingPrice
- statusCode

This domain class model diagram illustrates the different entities and their relationships in the Real Estate Multiple Listing Service system. It shows how listings are added, updated, and matched to customer requirements, as well as how information is shared between agents, offices, and owners.