module AmazonProductAdvertisingApi #:nodoc:
  module Operations #:nodoc:
    module Base #:nodoc:
      
      # This is a list of all response elements from the API docs dated 2009-03-31.
      # It is used by the element object so that we can return a nil or an empty elements
      # if an element is queried for something that isn't in the response.
      RESPONSE_ELEMENTS = [
        :about,
        :about_me,
        :actor,
        :additional_name,
        :address1,
        :address2,
        :address3,
        :alternate_version,
        :amazon_maximum_age,
        :amazon_minimum_age,
        :amount,
        :aperture_modes,
        :artist,
        :asin,
        :aspect_ratio,
        :audience_rating,
        :audio_format,
        :author,
        :availability,
        :availability_attributes,
        :average_feedback_rating,
        :average_rating,
        :back_finding,
        :band_material_type,
        :batteries,
        :batteries_included,
        :battery_description,
        :battery_type,
        :bed_id,
        :bed_name,
        :benefit,
        :benefits,
        :benefit_type,
        :benefit_description,
        :bezel_material_type,
        :bin,
        :binding,
        :bin_item_count,
        :bin_name,
        :bin_parameter,
        :birthday,
        :body_style_id,
        :body_style_name,
        :brake_id,
        :brake_name,
        :brand,
        :browse_node_id,
        :calendar_type,
        :camera_manual_features,
        :cart_id,
        :cart_item,
        :cart_item_id,
        :cart_items,
        :case_diameter,
        :case_material_type,
        :case_thickness,
        :case_type,
        :category,
        :cdrw_description,
        :chain_type,
        :city,
        :clasp_type,
        :clothing_size,
        :code,
        :collection,
        :collection_item,
        :collection_parent,
        :collections,
        :color,
        :comment,
        :compatability,
        :compnent_tyype,
        :condition,
        :condition_note,
        :content,
        :corrected_query,
        :country,
        :coupon_combination_type,
        :cpu_manufacturer,
        :cpu_speed,
        :cpu_type,
        :creator,
        :creation_date,
        :currency_amount,
        :currency_code,
        :customer_id,
        :customer_name,
        :customer_nickname,
        :customer_review,
        :customer_reviews,
        :date,
        :date_added,
        :date_created,
        :day,
        :delay_between_shots,
        :department,
        :details,
        :detail_page_url,
        :dewey_decimal_number,
        :dial_color,
        :dial_window_material_type,
        :digital_zoom,
        :director,
        :display_size,
        :distinct_users,
        :drive_type_id,
        :drive_type_name,
        :dvd_layers,
        :dvdrw_description,
        :dvd_sides,
        :ean,
        :edition,
        :editorial_reviews_link_suppressed,
        :element,
        :eligibility_requirement,
        :eligibility_requirement_description,
        :eligibility_requirements,
        :eligibility_requirement_type,
        :end_date,
        :engine_id,
        :engine_name,
        :episode_sequence,
        :exchange_id,
        :esrb_age_rating,
        :external_display_support_description,
        :fabric_type,
        :fax_number,
        :feature,
        :feedback,
        :feedback_rating,
        :first_issue_lead_time,
        :first_tagging,
        :fitment_attribute,
        :fitment_attributes,
        :fixed_amount,
        :flavour_name,
        :floppy_disk_drive_description,
        :format,
        :formatted_price,
        :genre,
        :gem_type,
        :gem_type_set_element,
        :glance_page,
        :golf_club_flex,
        :golf_club_loft,
        :graphics_card_interface,
        :graphics_description,
        :graphics_memory_size,
        :group_claim_code,
        :hand_orientation,
        :hard_disk_count,
        :hard_disk_size,
        :hardware_platform,
        :has_auto_focus,
        :has_burst_mode,
        :has_in_camera_editing,
        :has_redeye_reduction,
        :has_self_timer,
        :has_tripod_mode,
        :has_video_out,
        :has_viewfinder,
        :height,
        :helpful_votes,
        :hmac,
        :hours,
        :hours_of_operation,
        :image,
        :included_software,
        :includes_mp3_player,
        :ingredients,
        :ingredients_set_element,
        :is_autographed,
        :isbn,
        :is_category_root,
        :is_eligible_for_super_save_shipping,
        :is_email_notify_available,
        :is_fit,
        :is_fragile,
        :is_in_benefit_set,
        :is_in_eligibility_requirement_set,
        :is_lab_created,
        :is_link_suppressed,
        :is_memorabilia,
        :is_next,
        :is_previous,
        :iso_equivalent,
        :item,
        :item_applicability,
        :issues_per_year,
        :is_valid,
        :item_attributes,
        :keyboard_description,
        :keywords,
        :label,
        :large_image,
        :last_modified,
        :last_tagging,
        :legal_disclaimer,
        :length,
        :line_voltage,
        :list_id,
        :listing_id,
        :list_item_id,
        :list_name,
        :list_owner,
        :list_type,
        :list_url,
        :location,
        :long_synopsis,
        :loyalty_points,
        :macro_focus_range,
        :magazine_type,
        :make_id,
        :make_name,
        :manufacturer,
        :manufacturer_labour_warranty_description,
        :manufacturer_maximum_age,
        :manufacturer_minimum_age,
        :manufacturer_parts_warranty_description,
        :material_type,
        :material_type_set_element,
        :maximum_aperture,
        :maximum_color_depth,
        :maximum_focal_length,
        :maximum_high_resolution_images,
        :maximum_hours,
        :maximum_horizontal_resolution,
        :maximum_low_resolution_images,
        :maximum_resolution,
        :maximum_shutter_speed,
        :maximum_vertical_resolution,
        :maximum_weight_recommendation,
        :medium_image,
        :memory_slots_available,
        :merchandising_message,
        :merchandising,
        :message,
        :metal_stamp,
        :metal_type,
        :minimum_hours,
        :mini_movie_description,
        :minimum_focal_length,
        :minimum_shutter_speed,
        :missing_vehicle_attributes,
        :model,
        :model_description,
        :monitor_size,
        :monitor_viewable_diagonal_size,
        :mouse_description,
        :mpn,
        :name,
        :native_resolution,
        :neighborhood,
        :network_interface_description,
        :nickname,
        :notebook_display_technology,
        :notebook_pointing_device_description,
        :number,
        :number_of_disks,
        :number_of_issues,
        :number_of_items,
        :number_of_pages,
        :number_of_pearls,
        :number_of_rapid_fire_shots,
        :number_of_stones,
        :number_of_tracks,
        :occasion_date,
        :offer_listing_id,
        :operating_system,
        :operation,
        :optical_zoom,
        :original_air_date,
        :original_release_date,
        :other_categories_similar_products,
        :owning_merchant_id,
        :package_quantity,
        :part,
        :parameter,
        :paremter_name,
        :parent_asin,
        :part_brand_bins,
        :part_browse_node_bins,
        :partner_name,
        :pearl_lustre,
        :pearl_minimum_color,
        :pearl_shape,
        :pearl_stringing_method,
        :pearl_surface_blemishes,
        :pearl_type,
        :pearl_uniformity,
        :phone_number,
        :photo_flash_type,
        :picture_format,
        :platform,
        :postal_code,
        :price,
        :price_rating,
        :processor_codes,
        :product_group,
        :product_type_subcategory,
        :promotion,
        :promotion_category,
        :promotion_id,
        :promotions,
        :publication_date,
        :publisher,
        :purchase_url,
        :quantity,
        :quantity_desired,
        :quantity_received,
        :rating,
        :reading_level,
        :registry_number,
        :region_code,
        :registry_name,
        :related_item,
        :related_items,
        :related_items_count,
        :related_item_page,
        :related_item_page_count,
        :relationship,
        :relationship_type,
        :release_date,
        :removeable_memory,
        :request_id,
        :resolution_modes,
        :response_group,
        :ring_size,
        :role,
        :running_time,
        :sales_rank,
        :saved_for_later_item,
        :season_sequence,
        :scent_name,
        :search_bin_set,
        :search_bin_sets,
        :secondary_cache_size,
        :seller_id,
        :seller_legalname,
        :seller_nick_name,
        :setting_type,
        :shaft_material_type,
        :shipment_items,
        :shipments,
        :short_synopsis,
        :similar_products,
        :similar_viewed_products,
        :single_merchant_id,
        :size,
        :size_per_pearl,
        :sku,
        :small_image,
        :sound_card_description,
        :source,
        :speaker_description,
        :special_features,
        :spring_types_id,
        :spring_types_name,
        :start_date,
        :start_year,
        :state,
        :status,
        :stone_clarity,
        :stone_color,
        :stone_cut,
        :stone_shape,
        :stone_weight,
        :store_id,
        :store_name,
        :steering_id,
        :steering_name,
        :studio,
        :subject,
        :subcondition,
        :subscription_length,
        :summary,
        :supported_image_type,
        :swatch_image,
        :system_bus_speed,
        :system_memory_size,
        :system_memory_size_max,
        :system_memory_type,
        :tag,
        :tagged_items,
        :tag_name,
        :tags,
        :tag_type,
        :terms_of_conditions,
        :theatrical_release_date,
        :thumbnail_image,
        :time,
        :tiny_image,
        :title,
        :top_item,
        :top_item_set,
        :total_collectible,
        :total_diamond_weight,
        :total_extenal_bays_free,
        :total_feedback,
        :total_feedback_pages,
        :total_firewire_ports,
        :total_fitments,
        :total_gem_weight,
        :total_internal_bays_free,
        :total_items,
        :total_metal_weight,
        :total_new,
        :total_ntscpal_ports,
        :total_offer_pages,
        :total_offers,
        :total_pages,
        :total_parallel_ports,
        :total_pc_card_slots,
        :total_pci_slots_free,
        :total_ratings,
        :total_refurbished,
        :total_results,
        :total_review_pages,
        :total_reviews,
        :totals,
        :total_serial_ports,
        :total_s_video_ports,
        :total_times_read,
        :total_usages,
        :total_usb_ports,
        :total_usb2_ports,
        :total_used,
        :total_vga_out_ports,
        :total_votes,
        :track,
        :transaction_date,
        :transaction_date_epoch,
        :transaction_id,
        :transaction_item,
        :transaction_item_id,
        :transaction_items,
        :transmission_id,
        :transmissio_name,
        :trim_id,
        :trim_name,
        :type,
        :unit,
        :upc,
        :url,
        :url_encoded_hmac,
        :user_ident,
        :user_id,
        :value,
        :variation_denomination,
        :variation_description,
        :variation_dimension,
        :vehicle_bed_options,
        :vehicle_bed,
        :vehicle_body_style_options,
        :vehicle_body_style,
        :vehicle_brakes_options,
        :vehicle_brakes,
        :vehicle_drive_type_options,
        :vehicle_drive_type,
        :vehicle_engine_options,
        :vehicle_engine,
        :vehicle_make,
        :vehicle_makes,
        :vehicle_mfr_body_code_options,
        :vehicle_mfr_body_code,
        :vehicle_model,
        :vehicle_models,
        :vehicle_options,
        :vehicle_parts,
        :vehicle_spring_type_options,
        :vehicle_spring_types,
        :vehicle_steering_options,
        :vehicle_steering,
        :vehicle_transmission_options,
        :vehicle_transmission,
        :vehicle_wheelbase_options,
        :vehicle_wheelbase,
        :vehicle_year,
        :vehicle_years,
        :versions,
        :warranty,
        :watch_movement_type,
        :water_resistant_depth,
        :weight,
        :wheelbase,
        :wheelbase_id,
        :wheelbase_name,
        :width,
        :will_ship_expedited,
        :will_ship_international,
        :wish_list_id,
        :year
      ]
      
      # A list of all the container response elements.
      CONTAINER_RESPONSE_ELEMENTS = [
        :alternate_version,
        :availability_attributes,
        :benefit,
        :benefits,
        :bin_parameter,
        :collection,
        :collections,
        :customer_reviews,
        :details,
        :eligibility_requirement,
        :eligibility_requirements,
        :first_tagging,
        :fitment_attribute,
        :fitment_attributes,
        :item,
        :item_applicability,
        :item_attributes,
        :large_image,
        :last_tagging,
        :medium_image,
        :promotion,
        :promotions,
        :related_item,
        :related_items,
        :search_bin_sets,
        :tagged_items,
        :tags,
        :thumbnail_image,
        :top_item,
        :top_item_set,
        :totals,
        :transaction_item,
        :transaction_items,
        :variation_dimension,
        :vehicle_bed_options,
        :vehicle_body_style_options,
        :vehicle_brakes_options,
        :vehicle_drive_type_options,
        :vehicle_engine_options,
        :vehicle_make,
        :vehicle_makes,
        :vehicle_mfr_body_code_options,
        :vehicle_model,
        :vehicle_models,
        :vehicle_options,
        :vehicle_parts,
        :vehicle_spring_type_options,
        :vehicle_steering_options,
        :vehicle_transmission_options,
        :vehicle_wheelbase_options,
        :vehicle_year,
        :vehicle_years
      ]
    end
  end
end