├── .document ├── .gitignore ├── .rdoc_options ├── .rspec ├── .ruby-version ├── .travis.yml ├── CONTRIBUTING.md ├── ChangeLog.md ├── Gemfile ├── LICENSE.md ├── README.md ├── Rakefile ├── bin └── samwise ├── lib ├── samwise.rb └── samwise │ ├── cli.rb │ ├── client.rb │ ├── duns_lookup.rb │ ├── error.rb │ ├── protocol.rb │ ├── util.rb │ └── version.rb ├── samwise.gemspec └── spec ├── cli_mocks ├── bad.json └── test.json ├── cli_spec.rb ├── client_spec.rb ├── factory.rb ├── protocol_spec.rb ├── samwise_spec.rb ├── spec_helper.rb ├── util_spec.rb └── vcr ├── Samwise_Cli.yml └── Samwise_Client.yml /.document: -------------------------------------------------------------------------------- 1 | lib/**/*.rb 2 | README.md 3 | ChangeLog.md 4 | 5 | LICENSE.txt 6 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /.bundle 2 | /Gemfile.lock 3 | /html/ 4 | /pkg/ 5 | /vendor/cache/*.gem 6 | -------------------------------------------------------------------------------- /.rdoc_options: -------------------------------------------------------------------------------- 1 | --- !ruby/object:RDoc::Options 2 | encoding: UTF-8 3 | static_path: [] 4 | rdoc_include: 5 | - . 6 | charset: UTF-8 7 | exclude: 8 | hyperlink_all: false 9 | line_numbers: false 10 | main_page: README.md 11 | markup: markdown 12 | show_hash: false 13 | tab_width: 8 14 | title: samwise Documentation 15 | visibility: :protected 16 | webcvs: 17 | -------------------------------------------------------------------------------- /.rspec: -------------------------------------------------------------------------------- 1 | --colour --format documentation 2 | -------------------------------------------------------------------------------- /.ruby-version: -------------------------------------------------------------------------------- 1 | 2.3.0 2 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | --- 2 | language: ruby 3 | rvm: 4 | - 2.2 5 | env: 6 | - DATA_DOT_GOV_API_KEY='fakekey' 7 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | ## Welcome! 2 | 3 | We're so glad you're thinking about contributing to an 18F open source project! If you're unsure about anything, just ask -- or submit the issue or pull request anyway. The worst that can happen is you'll be politely asked to change something. We love all friendly contributions. 4 | 5 | We want to ensure a welcoming environment for all of our projects. Our staff follow the [18F Code of Conduct](https://github.com/18F/code-of-conduct/blob/master/code-of-conduct.md) and all contributors should do the same. 6 | 7 | We encourage you to read this project's CONTRIBUTING policy (you are here), its [LICENSE](LICENSE.md), and its [README](README.md). 8 | 9 | If you have any questions or want to read more, check out the [18F Open Source Policy GitHub repository]( https://github.com/18f/open-source-policy), or just [shoot us an email](mailto:18f@gsa.gov). 10 | 11 | ## Public domain 12 | 13 | This project is in the public domain within the United States, and 14 | copyright and related rights in the work worldwide are waived through 15 | the [CC0 1.0 Universal public domain dedication](https://creativecommons.org/publicdomain/zero/1.0/). 16 | 17 | All contributions to this project will be released under the CC0 18 | dedication. By submitting a pull request, you are agreeing to comply 19 | with this waiver of copyright interest. 20 | -------------------------------------------------------------------------------- /ChangeLog.md: -------------------------------------------------------------------------------- 1 | ### 0.1.1 / 2015-12-29 2 | 3 | * Changed name to Samwise 4 | 5 | ### 0.1.0 / 2015-12-29 6 | 7 | * Initial release: 8 | -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- 1 | source 'https://rubygems.org' 2 | 3 | gemspec 4 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | As a work of the United States Government, this project is in the 2 | public domain within the United States. 3 | 4 | Additionally, we waive copyright and related rights in the work 5 | worldwide through the CC0 1.0 Universal public domain dedication. 6 | 7 | ## CC0 1.0 Universal Summary 8 | 9 | This is a human-readable summary of the [Legal Code (read the full text)](https://creativecommons.org/publicdomain/zero/1.0/legalcode). 10 | 11 | ### No Copyright 12 | 13 | The person who associated a work with this deed has dedicated the work to 14 | the public domain by waiving all of his or her rights to the work worldwide 15 | under copyright law, including all related and neighboring rights, to the 16 | extent allowed by law. 17 | 18 | You can copy, modify, distribute and perform the work, even for commercial 19 | purposes, all without asking permission. 20 | 21 | ### Other Information 22 | 23 | In no way are the patent or trademark rights of any person affected by CC0, 24 | nor are the rights that other persons may have in the work or in how the 25 | work is used, such as publicity or privacy rights. 26 | 27 | Unless expressly stated otherwise, the person who associated a work with 28 | this deed makes no warranties about the work, and disclaims liability for 29 | all uses of the work, to the fullest extent permitted by applicable law. 30 | When using or citing the work, you should not imply endorsement by the 31 | author or the affirmer. 32 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # samwise 2 | 3 | * [Homepage](https://rubygems.org/gems/samwise) 4 | * [Documentation](http://rubydoc.info/gems/samwise/frames) 5 | 6 | [![Build Status](https://travis-ci.org/18F/samwise.svg)](https://travis-ci.org/18F/samwise) 7 | [![Code Climate](https://codeclimate.com/github/18F/samwise/badges/gpa.svg)](https://codeclimate.com/github/18F/samwise) 8 | [![Test Coverage](https://codeclimate.com/github/18F/samwise/badges/coverage.svg)](https://codeclimate.com/github/18F/samwise/coverage) 9 | [![Issue Count](https://codeclimate.com/github/18F/samwise/badges/issue_count.svg)](https://codeclimate.com/github/18F/samwise) 10 | 11 | ## Description 12 | 13 | Ruby access to the SAM.gov API. 14 | 15 | ## Usage 16 | 17 | To get started, you'll need an API key from https://api.data.gov. 18 | 19 | ### Configuration 20 | 21 | Set the api.data.gov API key as the environment variable `'DATA_DOT_GOV_API_KEY'` or pass the key as an argument: 22 | 23 | ```ruby 24 | require 'samwise' 25 | 26 | client = Samwise::Client.new(api_key: 'my key ...') 27 | 28 | # if you set the 'DATA_DOT_GOV_API_KEY' env var, just use: 29 | client = Samwise::Client.new 30 | ``` 31 | 32 | ### Get summary info in a single request 33 | 34 | ```ruby 35 | client.get_vendor_summary(duns: '080037478') 36 | #=> 37 | { 38 | in_sam: true, 39 | small_business: true 40 | } 41 | ``` 42 | 43 | Note: the definition of `small_business` is IT-centric. 44 | 45 | See `Verify Vendor is a small business` for the list of NAICS codes uses to check if some a vendor is a small business. 46 | 47 | ### Verify DUNS number is in SAM.gov 48 | 49 | ```ruby 50 | client.duns_is_in_sam?(duns: '080037478') 51 | #=> true 52 | ``` 53 | 54 | ### Verify Vendor is not on the excluded parties list 55 | 56 | ```ruby 57 | client.excluded?(duns: '080037478') 58 | #=> false 59 | ``` 60 | 61 | ### Verify Vendor is a small business 62 | 63 | ```ruby 64 | client.small_business?(duns: '080037478') 65 | #=> false 66 | ``` 67 | 68 | This method checks against the following NAICS codes: 69 | 70 | - 511210 71 | - 541511 72 | - 541512 73 | - 541519 74 | - 334614 75 | 76 | What is a NAICS code? 77 | 78 | > The North American Industry Classification System (NAICS) is used by businesses and governments to classify and measure economic activity in the United States, Canada, and Mexico. NAICS is 6-digit code system that is currently the standard used by federal statistical agencies in classifying business establishments. 79 | 80 | (source: http://siccode.com/en/pages/what-is-a-naics-code) 81 | 82 | The whitelisted NAICS codes classify companies that offer IT or related services. 83 | 84 | ### Get DUNS info 85 | 86 | ```ruby 87 | duns_info = client.get_duns_info(duns: '080037478') 88 | 89 | { 90 | "sam_data"=>{ 91 | "registration"=>{ 92 | "govtBusinessPoc"=>{ 93 | "lastName"=>"SUDOL", 94 | "address"=>{ 95 | "zip"=>"22203", 96 | "countryCode"=>"USA", 97 | "line1"=>"4301 N HENDERSON RD APT 408", 98 | "stateorProvince"=>"VA", 99 | "city"=>"Arlington" 100 | }, 101 | "email"=>"BRENDANSUDOL@GMAIL.COM", 102 | "usPhone"=>"5404218332", 103 | "firstName"=>"BRENDAN" 104 | }, 105 | "qualifications"=>{ 106 | }, 107 | "dunsPlus4"=>"0000", 108 | "activationDate"=>"2015-10-30 11:42:30.0", 109 | "fiscalYearEndCloseDate"=>"12\/31", 110 | "businessTypes"=>[ 111 | "VW", 112 | "2X", 113 | "27" 114 | ], 115 | "registrationDate"=>"2015-10-28 00:00:00.0", 116 | "certificationsURL"=>{ 117 | "pdfUrl": 118 | "https:\/\/www.sam.gov\/SAMPortal\/filedownload?reportType=1&orgId=kZhDothaHaS8Y%2BBby2ety%2B1PIcKkDuGxkhITFtBfiwpmpGqNLrKsCz9OrI6CaxsI&pitId=Pg1XpWC8vQH7LKi9e8r5BK5D6ORH953kPtjfCGikUDnIY8Fsp71cFeSgzD8W9Uqd&requestId=OBq2t61SZrN75k9" 119 | }, 120 | "hasDelinquentFederalDebt"=>false, 121 | "duns"=>"080037478", 122 | "cage"=>"7H1Y7", 123 | "hasKnownExclusion"=>false, 124 | "publicDisplay"=>true, 125 | "expirationDate"=>"2016-10-27 10:53:02.0", 126 | "status"=>"ACTIVE", 127 | "corporateStructureCode"=>"2J", 128 | "stateOfIncorporation"=>"VA", 129 | "corporateStructureName"=>"Sole Proprietorship", 130 | "legalBusinessName"=>"Sudol, Brendan", 131 | "congressionalDistrict"=>"VA 08", 132 | "bondingInformation"=>{ 133 | }, 134 | "businessStartDate"=>"2015-10-28", 135 | "statusMessage"=>"Active", 136 | "lastUpdateDate"=>"2015-11-02 17:36:23.0", 137 | "samAddress"=>{ 138 | "zipPlus4"=>"2511", 139 | "zip"=>"22203", 140 | "countryCode"=>"USA", 141 | "line1"=>"4301 N Henderson Rd Apt 408", 142 | "stateorProvince"=>"VA", 143 | "city"=>"Arlington" 144 | }, 145 | "submissionDate"=>"2015-10-28 10:53:02.0", 146 | "naics"=>[ 147 | { 148 | "isPrimary"=>false, 149 | "naicsCode"=>"518210", 150 | "naicsName"=>"DATA PROCESSING, HOSTING, AND RELATED SERVICES" 151 | }, 152 | { 153 | "isPrimary"=>true, 154 | "naicsCode"=>"541511", 155 | "naicsName"=>"CUSTOM COMPUTER PROGRAMMING SERVICES" 156 | } 157 | ], 158 | "creditCardUsage"=>true, 159 | "countryOfIncorporation"=>"USA", 160 | "electronicBusinessPoc"=>{ 161 | "lastName"=>"SUDOL", 162 | "address"=>{ 163 | "zip"=>"22203", 164 | "countryCode"=>"USA", 165 | "line1"=>"4301 N HENDERSON RD APT 408", 166 | "stateorProvince"=>"VA", 167 | "city"=>"Arlington" 168 | }, 169 | "email"=>"BRENDANSUDOL@GMAIL.COM", 170 | "usPhone"=>"5404218332", 171 | "firstName"=>"BRENDAN" 172 | }, 173 | "mailingAddress"=>{ 174 | "zipPlus4"=>"2511", 175 | "zip"=>"22203", 176 | "countryCode"=>"USA", 177 | "line1"=>"4301 N Henderson Rd Apt 408", 178 | "stateorProvince"=>"VA", 179 | "city"=>"Arlington" 180 | }, 181 | "purposeOfRegistration"=>"ALL_AWARDS" 182 | } 183 | } 184 | } 185 | #=> 186 | ``` 187 | 188 | ### Validate the format of a DUNS number 189 | 190 | This does not need an API key and makes no network calls. 191 | 192 | ```ruby 193 | Samwise::Util.duns_is_properly_formatted?(duns: '88371771') 194 | #=> true 195 | 196 | Samwise::Util.duns_is_properly_formatted?(duns: '883717717') 197 | #=> true 198 | 199 | Samwise::Util.duns_is_properly_formatted?(duns: '0223841150000') 200 | #=> true 201 | 202 | Samwise::Util.duns_is_properly_formatted?(duns: '08-011-5718') 203 | #=> true 204 | 205 | Samwise::Util.duns_is_properly_formatted?(duns: 'abc1234567') 206 | #=> false 207 | 208 | Samwise::Util.duns_is_properly_formatted?(duns: '1234567891234567890') 209 | #=> false 210 | ``` 211 | 212 | ### Format a DUNS number 213 | 214 | This removes any hyphens and appends `0`s where appropriate (does not need an API key and makes no network calls): 215 | 216 | ```ruby 217 | Samwise::Util.format_duns(duns: '08-011-5718') 218 | #=> "0801157180000" 219 | ``` 220 | 221 | `duns` can be a 7, 8, 9, or 13 digit number (hyphens are removed): 222 | 223 | - If it is 7 digits, `00` is prepended, and `0000` is added to the end. 224 | - If it is 8 digits, `0` is prepended, and `0000` is added to the end. 225 | - If it is 9 digits, `0000` is added to the end. 226 | - If it is 13 digits, the number is unchanged. 227 | 228 | ### Check status in SAM.gov 229 | 230 | There is a web form where anyone can enter a DUNS number to get its status within SAM.gov: https://www.sam.gov/sam/helpPage/SAM_Reg_Status_Help_Page.html. 231 | 232 | This form uses an undocumented/unpublished JSON endpoint. This gem provides Ruby access to that endpoint. 233 | 234 | This does not require an api.data.gov API key, but it will make a network call to the above URL. 235 | 236 | The SAM.gov status web form hard codes what appears to be an API key. That key is used by default in this gem. However, you may supply your own (also tell us where you got it!). 237 | 238 | ```ruby 239 | client = Samwise::Client.new(sam_status_key: 'optional') 240 | client.get_sam_status(duns: '08-011-5718') 241 | 242 | #=> { 243 | "Message" => "Request for registration information forbidden", 244 | "Code" => 403, 245 | "Error" => "" 246 | } 247 | 248 | client.get_sam_status(duns: ) 249 | ``` 250 | 251 | ## Install 252 | 253 | In your Gemfile: 254 | 255 | ```ruby 256 | gem 'samwise', github: '18f/samwise' 257 | ``` 258 | 259 | ### Coming Soon 260 | 261 | ``` 262 | $ gem install samwise 263 | ``` 264 | 265 | ## Command Line Interface 266 | The samwise gem can be run via command line via a piped in file or with a file input flag. 267 | 268 | To make the gem executable run `gem install samwise` which calls makes the contents of the `bin` directory executable in the gemspec. 269 | 270 | #### Input Format 271 | The CLI expects a .json with the following schema: 272 | 273 | ```json 274 | {"users":[{"other_keys": "other_values", "duns":"duns_number"}]} 275 | ``` 276 | 277 | If the JSON does not include a `"duns"` key, the CLI will abort. 278 | 279 | The JSON can be piped in or fed in from a file via a `-i` flag. For example: 280 | ```bash 281 | cat "input_file.json" | samwise verify > output.json 282 | samwise verify -i "input_file.json" > output.json 283 | ``` 284 | 285 | #### Output 286 | The CLI will output a JSON to `STDOUT` with an addition key to be determined by the method run (see below for reference). 287 | 288 | #### Available Commands 289 | | CLI Comand | Samwise Function | JSON OutKey | 290 | |--------------------|-----------------------------------|-------------| 291 | | `samwise verify` | `Samwise::Client.duns_is_in_sam?` | `verified` | 292 | | `samwise excluded` | `Samwise::Client.excluded?` | `excluded` | 293 | | `samwise get_info` | `Samwise::Client.get_duns_info` | `sam_data` | 294 | | `samwise check_format` | `Samwise::Util.duns_is_properly_formatted?` | `valid_format` | 295 | | `samwise format` | `Samwise::Util.format_duns` | `formatted_duns` | 296 | 297 | ## Public Domain 298 | 299 | This project is in the worldwide [public domain](LICENSE.md). As stated in [CONTRIBUTING](CONTRIBUTING.md): 300 | 301 | > This project is in the public domain within the United States, and copyright and related rights in the work worldwide are waived through the [CC0 1.0 Universal public domain dedication](https://creativecommons.org/publicdomain/zero/1.0/). 302 | > 303 | > All contributions to this project will be released under the CC0 dedication. By submitting a pull request, you are agreeing to comply with this waiver of copyright interest. 304 | -------------------------------------------------------------------------------- /Rakefile: -------------------------------------------------------------------------------- 1 | # encoding: utf-8 2 | 3 | require 'rubygems' 4 | 5 | begin 6 | require 'bundler/setup' 7 | rescue LoadError => e 8 | abort e.message 9 | end 10 | 11 | require 'rake' 12 | 13 | 14 | require 'rubygems/tasks' 15 | Gem::Tasks.new 16 | 17 | require 'rdoc/task' 18 | RDoc::Task.new 19 | task :doc => :rdoc 20 | 21 | require 'rspec/core/rake_task' 22 | RSpec::Core::RakeTask.new 23 | 24 | task :test => :spec 25 | task :default => :spec 26 | -------------------------------------------------------------------------------- /bin/samwise: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env ruby 2 | 3 | require 'samwise' 4 | 5 | Samwise::Cli.start -------------------------------------------------------------------------------- /lib/samwise.rb: -------------------------------------------------------------------------------- 1 | require 'samwise/version' 2 | require 'samwise/error' 3 | require 'samwise/util' 4 | require 'samwise/protocol' 5 | require 'samwise/client' 6 | require 'samwise/cli' 7 | -------------------------------------------------------------------------------- /lib/samwise/cli.rb: -------------------------------------------------------------------------------- 1 | require "thor" 2 | require 'json' 3 | 4 | # require 'samwise' 5 | 6 | module Samwise 7 | class Cli < Thor 8 | method_option :infile, :aliases => "-i", :desc => "Nonpiped version input" 9 | # method_option :dunsnum, :aliases => "-d", :desc => "DUNS number" 10 | desc "verify", "Verify DUNS numbers are in SAM.gov" 11 | def verify 12 | wrap_sam("verified"){|c, u, j| u[j] = c.duns_is_in_sam?(duns: u['duns'])} 13 | end 14 | method_option :infile, :aliases => "-i", :desc => "Nonpiped version input" 15 | desc "excluded", "Verify Vendor is not on the excluded parties list" 16 | def excluded 17 | wrap_sam("excluded"){|c, u, j| u[j] = c.excluded?(duns: u['duns'])} 18 | end 19 | 20 | method_option :infile, :aliases => "-i", :desc => "Nonpiped version input" 21 | desc "get_info", "Get DUNS info" 22 | def get_info 23 | wrap_sam("user_info"){|c, u, j| u[j] = c.get_duns_info(duns: u['duns'])} 24 | end 25 | 26 | method_option :infile, :aliases => "-i", :desc => "Nonpiped version input" 27 | desc "check_format", "Validate the format of a DUNS number" 28 | def check_format 29 | wrap_sam("valid_format"){|c, u, j| u[j] = Samwise::Util.duns_is_properly_formatted?(duns: u['duns'])} 30 | end 31 | 32 | method_option :infile, :aliases => "-i", :desc => "Nonpiped version input" 33 | desc "format", "Format a DUNS number" 34 | def format 35 | wrap_sam("formatted_duns") {|c, u, j| u[j] = Samwise::Util.format_duns(duns: u['duns'])} 36 | end 37 | 38 | #Helpers 39 | desc "private method wrap_sam JSonkeytoadd &block", "Opens the client and cli files for all of the calls" 40 | def wrap_sam(jsonOutKey, &block) 41 | infile = ($stdin.tty?) ? File.read(options[:infile]) : $stdin.read #read in a json of users to be samwised 42 | duns_hash = JSON.parse(infile) 43 | #check what method called wrap_sam. Do not init samwise client for utils 44 | thor_method = caller_locations(1,1)[0].label 45 | client = Samwise::Client.new unless (thor_method == "check_format") || (jsonOutKey =="format") 46 | 47 | 48 | duns_hash['users'].each do |user| 49 | #abort process do improperly formated duns 50 | abort("please use a .json with a duns key") unless user.has_key?("duns") 51 | block.call(client, user, jsonOutKey) 52 | end 53 | puts duns_hash.to_json 54 | 55 | end 56 | 57 | private :wrap_sam 58 | 59 | end 60 | end 61 | -------------------------------------------------------------------------------- /lib/samwise/client.rb: -------------------------------------------------------------------------------- 1 | require 'json' 2 | require 'httpclient' 3 | require_relative './duns_lookup' 4 | 5 | module Samwise 6 | class Client 7 | def initialize(api_key: nil, sam_status_key: Samwise::Protocol::SAM_STATUS_KEY) 8 | @api_key = api_key || ENV['DATA_DOT_GOV_API_KEY'] 9 | @sam_status_key = sam_status_key || ENV['SAM_STATUS_KEY'] 10 | @client = HTTPClient.new 11 | end 12 | 13 | def get_duns_info(duns: nil) 14 | response = lookup_duns(duns: duns) 15 | JSON.parse(response.body) 16 | end 17 | 18 | def get_vendor_summary(duns: nil) 19 | response = lookup_duns(duns: duns) 20 | 21 | { 22 | in_sam: parse_response_for_sam_status(response), 23 | small_business: small_business?(response) 24 | } 25 | end 26 | 27 | def duns_is_in_sam?(duns: nil) 28 | response = lookup_duns(duns: duns) 29 | parse_response_for_sam_status(response) 30 | end 31 | 32 | def get_sam_status(duns: nil) 33 | response = lookup_sam_status(duns: duns) 34 | JSON.parse(response.body) 35 | end 36 | 37 | def excluded?(duns: nil) 38 | response = lookup_duns(duns: duns) 39 | JSON.parse(response.body)["hasKnownExclusion"] == false 40 | end 41 | 42 | private 43 | 44 | def parse_response_for_sam_status(response) 45 | response.status == 200 46 | end 47 | 48 | def small_business?(response) 49 | Samwise::DunsLookup.new(response).small_business? 50 | end 51 | 52 | def lookup_duns(duns: nil) 53 | duns = Samwise::Util.format_duns(duns: duns) 54 | @client.get Samwise::Protocol.duns_url(duns: duns, api_key: @api_key) 55 | end 56 | 57 | def lookup_sam_status(duns: nil) 58 | duns = Samwise::Util.format_duns(duns: duns) 59 | @client.get Samwise::Protocol.sam_status_url(duns: duns, api_key: @api_key) 60 | end 61 | end 62 | end 63 | -------------------------------------------------------------------------------- /lib/samwise/duns_lookup.rb: -------------------------------------------------------------------------------- 1 | module Samwise 2 | class DunsLookup 3 | attr_reader :response 4 | 5 | def initialize(response) 6 | @response = response 7 | end 8 | 9 | def small_business? 10 | if response.status == 200 11 | small_business_response 12 | else 13 | false 14 | end 15 | end 16 | 17 | private 18 | 19 | def small_business_response 20 | if registration_data && certifications && far_responses 21 | small_business_response? 22 | else 23 | false 24 | end 25 | end 26 | 27 | def small_business_response? 28 | !small_business_naics_answers.detect do |answer| 29 | answer['isSmallBusiness'] == 'Y' 30 | end.nil? 31 | end 32 | 33 | def small_business_naics_answers 34 | naics_answers.select do |answer| 35 | Samwise::Protocol::NAICS_WHITELIST.include?(answer['naicsCode']) 36 | end 37 | end 38 | 39 | def naics_answers 40 | small_business_answers.find do |answer| 41 | answer.has_key?('naics') 42 | end['naics'] 43 | end 44 | 45 | def small_business_answers 46 | response_to_small_business_questions['answers'] 47 | end 48 | 49 | def response_to_small_business_questions 50 | far_responses.find do |far_response| 51 | far_response['id'] == Samwise::Protocol::FAR_SMALL_BIZ_CITATION 52 | end 53 | end 54 | 55 | def far_responses 56 | certifications['farResponses'] 57 | end 58 | 59 | def certifications 60 | registration_data['certifications'] 61 | end 62 | 63 | def registration_data 64 | @_data ||= JSON.parse(response.body)["sam_data"]["registration"] 65 | end 66 | end 67 | end 68 | -------------------------------------------------------------------------------- /lib/samwise/error.rb: -------------------------------------------------------------------------------- 1 | module Samwise 2 | module Error 3 | class InvalidFormat < StandardError 4 | def initialize(message: 'The format of the provided DUNS number is invalid') 5 | super(message) 6 | end 7 | end 8 | 9 | class ArgumentMissing < StandardError 10 | end 11 | end 12 | end 13 | -------------------------------------------------------------------------------- /lib/samwise/protocol.rb: -------------------------------------------------------------------------------- 1 | module Samwise 2 | module Protocol 3 | SAM_API_BASE_URL = 'https://api.data.gov' 4 | SAM_API_API_VERSION = 'v4' 5 | SAM_STATUS_URL = 'https://www.sam.gov/samdata/registrations/trackProgress' 6 | SAM_STATUS_KEY = '1452031543862' 7 | NAICS_WHITELIST = [511210, 541511, 541512, 541519, 334614] 8 | FAR_SMALL_BIZ_CITATION = 'FAR 52.219-1' 9 | 10 | def self.duns_url(duns: nil, api_key: nil) 11 | fail Samwise::Error::ArgumentMissing, 'DUNS number is missing' if duns.nil? 12 | fail Samwise::Error::ArgumentMissing, 'SAM.gov API key is missing' if api_key.nil? 13 | 14 | "#{SAM_API_BASE_URL}/sam/#{SAM_API_API_VERSION}/registrations/#{duns}?api_key=#{api_key}" 15 | end 16 | 17 | def self.sam_status_url(duns: nil, api_key: nil) 18 | fail Samwise::Error::ArgumentMissing, 'DUNS number is missing' if duns.nil? 19 | fail Samwise::Error::ArgumentMissing, 'SAM status key is missing' if api_key.nil? 20 | 21 | "#{SAM_STATUS_URL}/?duns=#{duns}&_=#{api_key}" 22 | end 23 | end 24 | end 25 | -------------------------------------------------------------------------------- /lib/samwise/util.rb: -------------------------------------------------------------------------------- 1 | 2 | module Samwise 3 | module Util 4 | def self.duns_is_properly_formatted?(duns: nil) 5 | return false if duns.nil? 6 | 7 | duns = duns.gsub('-', '') 8 | 9 | return true if duns_contains_forbidden_characters?(duns: duns) 10 | 11 | return true if duns_is_seven_digits?(duns: duns) 12 | return true if duns_is_eight_digits?(duns: duns) 13 | return true if duns_is_nine_digits?(duns: duns) 14 | return true if duns_is_thirteen_digits?(duns: duns) 15 | 16 | return false 17 | end 18 | 19 | def self.format_duns(duns: nil) 20 | raise Samwise::Error::InvalidFormat unless duns_is_properly_formatted?(duns: duns) 21 | 22 | duns = duns.gsub('-', '') 23 | 24 | if duns_is_nine_digits?(duns: duns) 25 | duns = "#{duns}0000" 26 | elsif duns_is_eight_digits?(duns: duns) 27 | duns = "0#{duns}0000" 28 | elsif duns_is_seven_digits?(duns: duns) 29 | duns = "00#{duns}0000" 30 | end 31 | 32 | duns 33 | end 34 | 35 | def self.duns_contains_forbidden_characters?(duns: nil) 36 | duns.split('').each do |character| 37 | return false if self.string_is_numeric?(string: character) 38 | end 39 | 40 | false 41 | end 42 | 43 | def self.string_is_numeric?(string: nil) 44 | string.split('').each do |character| 45 | return false unless character.to_i.to_s == character 46 | end 47 | 48 | return true 49 | end 50 | 51 | def self.duns_is_seven_digits?(duns: nil) 52 | duns.length == 7 53 | end 54 | 55 | def self.duns_is_eight_digits?(duns: nil) 56 | duns.length == 8 57 | end 58 | 59 | def self.duns_is_nine_digits?(duns: nil) 60 | duns.length == 9 61 | end 62 | 63 | def self.duns_is_thirteen_digits?(duns: nil) 64 | duns.length == 13 65 | end 66 | end 67 | end 68 | -------------------------------------------------------------------------------- /lib/samwise/version.rb: -------------------------------------------------------------------------------- 1 | module Samwise 2 | VERSION = '0.4.0' 3 | end 4 | -------------------------------------------------------------------------------- /samwise.gemspec: -------------------------------------------------------------------------------- 1 | # -*- encoding: utf-8 -*- 2 | 3 | lib = File.expand_path('../lib', __FILE__) 4 | $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib) 5 | require 'samwise/version' 6 | 7 | Gem::Specification.new do |gem| 8 | gem.name = "samwise" 9 | gem.version = Samwise::VERSION 10 | gem.summary = %q{Ruby access to the SAM.gov API} 11 | gem.description = %q{A Ruby library that provides access to the SAM.gov API} 12 | gem.license = "Public Domain. See CONTRIBUTING.md." 13 | gem.authors = ["Alan deLevie"] 14 | gem.email = "alan.delevie@gsa.gov" 15 | gem.homepage = "https://rubygems.org/gems/samwise" 16 | 17 | gem.files = `git ls-files`.split($/) 18 | 19 | `git submodule --quiet foreach --recursive pwd`.split($/).each do |submodule| 20 | submodule.sub!("#{Dir.pwd}/",'') 21 | 22 | Dir.chdir(submodule) do 23 | `git ls-files`.split($/).map do |subpath| 24 | gem.files << File.join(submodule,subpath) 25 | end 26 | end 27 | end 28 | gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) } 29 | gem.test_files = gem.files.grep(%r{^(test|spec|features)/}) 30 | gem.require_paths = ['lib'] 31 | 32 | gem.add_development_dependency 'codeclimate-test-reporter', '~> 0.1' 33 | gem.add_development_dependency 'rake', '~> 10.0' 34 | gem.add_development_dependency 'rdoc', '~> 4.0' 35 | gem.add_development_dependency 'rspec', '~> 3.0' 36 | gem.add_development_dependency 'rubygems-tasks', '~> 0.2' 37 | gem.add_development_dependency 'vcr' 38 | gem.add_development_dependency 'pry' 39 | gem.add_development_dependency 'webmock' 40 | gem.add_development_dependency 'thor' 41 | 42 | gem.add_runtime_dependency 'httpclient' 43 | end 44 | -------------------------------------------------------------------------------- /spec/cli_mocks/bad.json: -------------------------------------------------------------------------------- 1 | {"users":[{"uid":"1000"},{"uid":"100"}]} -------------------------------------------------------------------------------- /spec/cli_mocks/test.json: -------------------------------------------------------------------------------- 1 | {"users":[{"uid":"1000","duns":"080037478"},{"uid":"100","duns":"080031478"}]} -------------------------------------------------------------------------------- /spec/cli_spec.rb: -------------------------------------------------------------------------------- 1 | require 'spec_helper' 2 | require 'samwise' 3 | require 'json' 4 | require 'factory' 5 | require 'stringio' 6 | 7 | describe Samwise::Cli, vcr: { cassette_name: "Samwise::Cli", record: :new_episodes } do 8 | let(:goodfile) {'spec/cli_mocks/test.json'} 9 | let(:piped_file){$stdin = StringIO.new(File.read(goodfile))} 10 | let(:badfile) {'spec/cli_mocks/bad.json'} 11 | let(:user_array) {Factory.create_users(["1000", "100"], ["080037478", "080031478"])} 12 | let(:abort_msg) {'please use a .json with a duns key'} 13 | 14 | def output(method, file) 15 | capture(:stdout){Samwise::Cli.new.invoke(method, [], {:infile => file})} 16 | end 17 | 18 | after(:example) do 19 | $stdin = STDIN 20 | end 21 | 22 | describe ".verify" do 23 | let(:method) {:verify} 24 | let(:verified_user) {Factory.build_users_json(user_array, [{"verified" => true}, {"verified" => false}])+"\n"} 25 | it "verifies the duns for each user with streamed infile" do 26 | piped_file 27 | expect(output(method, goodfile)).to eq(verified_user) 28 | end 29 | it "verifies the duns for each user when given an -i flagged test.json with duns key" do 30 | expect(output(method, goodfile)).to eq(verified_user) 31 | end 32 | 33 | it "requests to recieve a good json when recieves json without duns key" do 34 | begin 35 | err = capture_stderr(output(method, badfile)) 36 | rescue Exception => e 37 | expect(e.to_s).to eq(abort_msg) 38 | end 39 | end 40 | end 41 | 42 | describe ".excluded" do 43 | let(:method) {:excluded} 44 | let(:excluded_user){Factory.build_users_json(user_array, [{"excluded" => false}, {"excluded" => false}])+"\n"} 45 | it "checks if users are excluded for each user in a streamed infile" do 46 | piped_file 47 | expect(output(method, goodfile)).to eq(excluded_user) 48 | end 49 | 50 | it "checks if users are excluded when given an -i flagged test.json with duns key" do 51 | expect(output(method, goodfile)).to eq(excluded_user) 52 | end 53 | 54 | it "requests to recieve a good json when recieves json without duns key" do 55 | begin 56 | output(method, badfile) 57 | rescue Exception => e 58 | expect(e.to_s).to eq(abort_msg) 59 | end 60 | end 61 | end 62 | 63 | describe ".get_info" do 64 | let(:method){:get_info} 65 | let(:expected_info) {"sam_data"} 66 | it "gets the users' information for each user in a streamed infile" do 67 | piped_file 68 | expect(output(method, goodfile)).to include(expected_info) 69 | end 70 | 71 | it "gets the users' information and adds to the json when given an -i flagged test.json with duns key" do 72 | expect(output(method, goodfile)).to include(expected_info) 73 | end 74 | 75 | it "requests to recieve a good json when recieves json without duns key" do 76 | begin 77 | output(method, badfile) 78 | rescue Exception => e 79 | expect(e.to_s).to eq(abort_msg) 80 | end 81 | end 82 | end 83 | 84 | describe ".check_format" do 85 | let(:method) {:check_format} 86 | let(:valid_duns){Factory.build_users_json(user_array, [{"valid_format" => true}, {"valid_format" => true}])+"\n"} 87 | it "verifies that the each duns number is formatted for each user in a streamed infile" do 88 | piped_file 89 | expect(output(method, goodfile)).to eq(valid_duns) 90 | end 91 | 92 | it "verifies that the each duns number is formatted for -i flagged test.json with duns key" do 93 | expect(output(method, goodfile)).to eq(valid_duns) 94 | end 95 | 96 | it "requests to recieve a good json when recieves json without duns key" do 97 | begin 98 | output(method, badfile) 99 | rescue Exception => e 100 | expect(e.to_s).to eq(abort_msg) 101 | end 102 | end 103 | end 104 | 105 | describe ".format" do 106 | let(:method) {:format} 107 | let(:format_duns){Factory.build_users_json(user_array, [{"formatted_duns" => "0800374780000"}, {"formatted_duns" => "0800314780000"}])+"\n"} 108 | it "formats duns numbers when streamed in json with users array and duns key" do 109 | piped_file 110 | expect(output(method, goodfile)).to eq(format_duns) 111 | end 112 | 113 | it "formats duns numbers when given an -i flagged test.json with duns key " do 114 | expect(output(method, goodfile)).to eq(format_duns) 115 | end 116 | 117 | it "requests to recieve a good json when recieves json without duns key" do 118 | begin 119 | output(method, badfile) 120 | rescue Exception => e 121 | expect(e.to_s).to eq(abort_msg) 122 | end 123 | end 124 | end 125 | end 126 | -------------------------------------------------------------------------------- /spec/client_spec.rb: -------------------------------------------------------------------------------- 1 | require 'spec_helper' 2 | require 'samwise' 3 | 4 | describe Samwise::Client, vcr: { cassette_name: "Samwise::Client", record: :new_episodes } do 5 | let(:api_key) { ENV['DATA_DOT_GOV_API_KEY'] } 6 | let(:nine_duns) { '809102507' } 7 | let(:eight_duns) { '78327018' } 8 | let(:thirteen_duns) { '0223841150000' } 9 | let(:not_in_sam_duns) { '08-011-5718' } 10 | let(:valid_dunses) { [nine_duns, eight_duns, thirteen_duns] } 11 | let(:non_existent_duns) { '0000001000000' } 12 | let(:client) { Samwise::Client.new(api_key: api_key) } 13 | let(:naics_code) { 54151 } 14 | let(:full_naics_code) { 541511 } 15 | let(:big_biz_duns) { '1459697830000' } 16 | let(:bad_dunses) do 17 | [ 18 | '1234567890', 19 | '12345678901', 20 | '123456789011', 21 | '1', 22 | '', 23 | '--', 24 | '12345678901234567890' 25 | ] 26 | end 27 | 28 | describe '#get_vendor_summary' do 29 | it 'returns a hash containing in_sam and small_business keys' do 30 | response = client.get_vendor_summary(duns: nine_duns) 31 | 32 | expect(response).to have_key(:in_sam) 33 | expect(response).to have_key(:small_business) 34 | end 35 | 36 | context 'when the DUNS belongs to a small business' do 37 | it 'has small_business set to true' do 38 | response = client.get_vendor_summary(duns: nine_duns) 39 | 40 | expect(response[:small_business]).to eq(true) 41 | end 42 | end 43 | 44 | context 'when the DUNS belongs to a big business' do 45 | it 'has small_business set to false' do 46 | response = client.get_vendor_summary(duns: big_biz_duns) 47 | 48 | expect(response[:small_business]).to eq(false) 49 | end 50 | end 51 | 52 | context 'when API response does not certification data' do 53 | it 'set small_business to false' do 54 | incomplete_data_duns = '506163962' 55 | response = client.get_vendor_summary(duns: incomplete_data_duns) 56 | 57 | expect(response[:small_business]).to eq(false) 58 | end 59 | end 60 | 61 | context 'when the DUNS is in SAM' do 62 | it 'has in_sam set to true' do 63 | response = client.get_vendor_summary(duns: nine_duns) 64 | 65 | expect(response[:in_sam]).to eq(true) 66 | end 67 | end 68 | 69 | context 'when the DUNS is not in SAM' do 70 | it 'has in_sam set to false' do 71 | response = client.get_vendor_summary(duns: non_existent_duns) 72 | 73 | expect(response[:in_sam]).to eq(false) 74 | end 75 | end 76 | end 77 | 78 | context '#get_sam_status' do 79 | it 'should return a Hash given a valid DUNS number' do 80 | skip 'until SSL issues can be addressed' 81 | valid_dunses.each do |valid_duns| 82 | expect(client.get_sam_status(duns: valid_duns)).to be_a(Hash) 83 | end 84 | end 85 | 86 | it 'should return a Hash given a DUNS not in SAM' do 87 | skip 'until SSL issues can be addressed' 88 | expect(client.get_sam_status(duns: not_in_sam_duns)).to be_a(Hash) 89 | end 90 | 91 | it 'should raise a Samwise::Error::InvalidFormat error given an invalid DUNS number' do 92 | bad_dunses.each do |bad_duns| 93 | expect do 94 | client.get_sam_status(duns: bad_duns) 95 | end.to raise_error(Samwise::Error::InvalidFormat) 96 | end 97 | end 98 | 99 | end 100 | 101 | context '#duns_is_in_sam?' do 102 | it "should verify that a 9 digit DUNS number exists in sam.gov" do 103 | response = client.duns_is_in_sam?(duns: nine_duns) 104 | 105 | expect(response).to be(true) 106 | end 107 | 108 | it "should verify that an 8 digit DUNS number exists in sam.gov" do 109 | response = client.duns_is_in_sam?(duns: eight_duns) 110 | 111 | expect(response).to be(true) 112 | end 113 | 114 | it "should verify that a 13 digit DUNS number exists in sam.gov" do 115 | response = client.duns_is_in_sam?(duns: thirteen_duns) 116 | 117 | expect(response).to be(true) 118 | end 119 | 120 | it "should return false given a DUNS number that is not in sam.gov" do 121 | response = client.duns_is_in_sam?(duns: non_existent_duns) 122 | 123 | expect(response).to be(false) 124 | end 125 | 126 | it 'should raise a Samwise::Error::InvalidFormat error given an invalid DUNS number' do 127 | bad_dunses.each do |bad_duns| 128 | expect do 129 | client.duns_is_in_sam?(duns: bad_duns) 130 | end.to raise_error(Samwise::Error::InvalidFormat) 131 | end 132 | end 133 | 134 | end 135 | 136 | context '#get_duns_info' do 137 | it "should get info for a 9 digit DUNS number" do 138 | response = client.get_duns_info(duns: nine_duns) 139 | 140 | expect(response).to be_a(Hash) 141 | end 142 | 143 | it "should get info for an 8 digit DUNS number" do 144 | response = client.get_duns_info(duns: eight_duns) 145 | 146 | expect(response).to be_a(Hash) 147 | end 148 | 149 | it "should get info for a 13 digit DUNS number" do 150 | response = client.get_duns_info(duns: thirteen_duns) 151 | 152 | expect(response).to be_a(Hash) 153 | end 154 | 155 | it "should return an error given a DUNS number that is not in sam.gov" do 156 | response = client.get_duns_info(duns: non_existent_duns) 157 | 158 | expect(response).to be_a(Hash) 159 | expect(response['Error']).to eq('Not Found') 160 | end 161 | 162 | it 'should raise a Samwise::Error::InvalidFormat error given an invalid DUNS number' do 163 | bad_dunses.each do |bad_duns| 164 | expect do 165 | client.get_duns_info(duns: bad_duns) 166 | end.to raise_error(Samwise::Error::InvalidFormat) 167 | end 168 | end 169 | end 170 | 171 | context '#is_excluded?' do 172 | it "should verify that vendor in the system is not on the excluded vendor list in sam.gov" do 173 | response = client.excluded?(duns: nine_duns) 174 | expect(response).to be(false) 175 | end 176 | end 177 | end 178 | -------------------------------------------------------------------------------- /spec/factory.rb: -------------------------------------------------------------------------------- 1 | require 'json' 2 | class Factory 3 | def self.create_user(arr) 4 | usr = { 5 | "uid" => arr[0], 6 | "duns" => arr[1] 7 | } 8 | if arr[2] 9 | puts type(arr[2]) 10 | usr.merge(arr[2]) 11 | end 12 | return usr 13 | end 14 | 15 | def self.add_key(user_array, extrakeys) 16 | new_arr = Array.new 17 | user_array.each_with_index do |u, i| 18 | new_arr << u.merge(extrakeys[i]) 19 | end 20 | return new_arr 21 | end 22 | 23 | def self.create_users(uids, duns, extrakeys: []) 24 | uarry = Array.new 25 | if uids.length == duns.length 26 | uids.zip(duns, extrakeys).each do |e| 27 | uarry.push(self.create_user(e)) 28 | end 29 | return uarry 30 | else 31 | # puts "arrays not same length" 32 | end 33 | end 34 | 35 | 36 | def self.build_users_json(array, extrakeys) 37 | {"users" => Factory.add_key(array, extrakeys)}.to_json 38 | end 39 | 40 | end 41 | 42 | # 43 | # usr = Factory.create_users(["1010", "1100"], ["duns1", "duns2"]) 44 | # print Factory.build_users_json(usr, [{"verified":true}, {"verified":false}]) 45 | -------------------------------------------------------------------------------- /spec/protocol_spec.rb: -------------------------------------------------------------------------------- 1 | require 'spec_helper' 2 | require 'samwise' 3 | 4 | describe Samwise::Protocol do 5 | let(:api_key) { '123456' } 6 | let(:duns) { '0123456780000'} 7 | 8 | it 'should create the URL for the DUNS API endpoint' do 9 | duns_url = Samwise::Protocol.duns_url(duns: duns, api_key: api_key) 10 | 11 | expect(duns_url).to be_a_valid_url 12 | end 13 | 14 | it 'should raise an ArgumentMissing error when arguments are missing' do 15 | expect do 16 | Samwise::Protocol.duns_url 17 | end.to raise_error(Samwise::Error::ArgumentMissing) 18 | 19 | expect do 20 | Samwise::Protocol.sam_status_url 21 | end.to raise_error(Samwise::Error::ArgumentMissing) 22 | end 23 | end 24 | -------------------------------------------------------------------------------- /spec/samwise_spec.rb: -------------------------------------------------------------------------------- 1 | require 'spec_helper' 2 | require 'samwise' 3 | 4 | describe Samwise do 5 | it "should have a VERSION constant" do 6 | expect(subject.const_get('VERSION')).to_not be_empty 7 | end 8 | end 9 | -------------------------------------------------------------------------------- /spec/spec_helper.rb: -------------------------------------------------------------------------------- 1 | require 'rspec' 2 | require 'samwise/version' 3 | require 'rspec/expectations' 4 | require 'uri' 5 | require 'vcr' 6 | require 'webmock/rspec' 7 | require 'pry' 8 | 9 | 10 | include Samwise 11 | 12 | WebMock.disable_net_connect!(allow_localhost: true) 13 | 14 | RSpec.configure do |config| 15 | def capture(stream) 16 | begin 17 | stream = stream.to_s 18 | eval "$#{stream} = StringIO.new" 19 | yield 20 | result = eval("$#{stream}").string 21 | ensure 22 | eval("$#{stream} = #{stream.upcase}") 23 | end 24 | 25 | result 26 | end 27 | 28 | def stdin_init(file) 29 | before(:context) do 30 | $stdin = StringIO.new(File.read(file)) 31 | end 32 | 33 | after(:context) do 34 | $stdin = STDIN 35 | end 36 | end 37 | 38 | def capture_stderr(&block) 39 | original_stderr = $stderr 40 | $stderr = fake = StringIO.new 41 | begin 42 | yield 43 | ensure 44 | $stderr = original_stderr 45 | end 46 | fake.string 47 | end 48 | 49 | end 50 | 51 | RSpec::Matchers.define :be_a_valid_url do 52 | match do |actual| 53 | begin 54 | uri = URI.parse(actual) 55 | uri.kind_of?(URI::HTTP) 56 | rescue URI::InvalidURIError 57 | false 58 | end 59 | end 60 | 61 | failure_message do |actual| 62 | "expected that #{actual} would be a valid url" 63 | end 64 | end 65 | 66 | VCR.configure do |c| 67 | c.cassette_library_dir = 'spec/vcr' 68 | c.hook_into :webmock 69 | c.configure_rspec_metadata! 70 | c.filter_sensitive_data('') { ENV['DATA_DOT_GOV_API_KEY'] } 71 | end 72 | -------------------------------------------------------------------------------- /spec/util_spec.rb: -------------------------------------------------------------------------------- 1 | require 'spec_helper' 2 | require 'samwise' 3 | 4 | describe Samwise::Util do 5 | let(:seven_duns) { '8837177' } 6 | let(:eight_duns) { '88371771' } 7 | let(:nine_duns) { '883717717' } 8 | let(:thirteen_duns) { '0223841150000' } 9 | let(:hyphen_duns) { '08-011-5718' } 10 | let(:letters_duns) { 'abc12345678'} 11 | let(:bad_dunses) do 12 | [ 13 | '1234567890', 14 | '12345678901', 15 | '123456789011', 16 | '1', 17 | '', 18 | '--', 19 | '12345678901234567890' 20 | ] 21 | end 22 | 23 | context '#duns_is_properly_formatted?' do 24 | it 'should return true when the DUNS is 13 digits (not counting hyphens)' do 25 | is_formatted = Samwise::Util.duns_is_properly_formatted?(duns: thirteen_duns) 26 | 27 | expect(is_formatted).to be(true) 28 | end 29 | 30 | it 'should return true when the DUNS is 9 digits (not counting hyphens)' do 31 | is_formatted = Samwise::Util.duns_is_properly_formatted?(duns: nine_duns) 32 | 33 | expect(is_formatted).to be(true) 34 | end 35 | 36 | it 'should return true when the DUNS is 8 digits (not counting hyphens)' do 37 | is_formatted = Samwise::Util.duns_is_properly_formatted?(duns: eight_duns) 38 | 39 | expect(is_formatted).to be(true) 40 | end 41 | 42 | it 'should return true when the DUNS is 7 digits (not counting hyphens)' do 43 | is_formatted = Samwise::Util.duns_is_properly_formatted?(duns: seven_duns) 44 | 45 | expect(is_formatted).to be(true) 46 | end 47 | 48 | it 'should return false when the DUNS is not 8, 9, or 13 digits (not counting hyphens)' do 49 | bad_dunses.each do |bad_duns| 50 | is_formatted = Samwise::Util.duns_is_properly_formatted?(duns: bad_duns) 51 | 52 | expect(is_formatted).to be(false) 53 | end 54 | end 55 | 56 | it 'should return false when the DUNS contains letters' do 57 | is_formatted = Samwise::Util.duns_is_properly_formatted?(duns: letters_duns) 58 | 59 | expect(is_formatted).to be(false) 60 | end 61 | 62 | it 'should return false when the duns number is nil' do 63 | is_formatted = Samwise::Util.duns_is_properly_formatted?(duns: nil) 64 | 65 | expect(is_formatted).to be(false) 66 | end 67 | end 68 | 69 | context '#format_duns' do 70 | it 'should not suffer from mutability side effects' do 71 | duns_copy = hyphen_duns.dup 72 | Samwise::Util.format_duns(duns: hyphen_duns) 73 | 74 | expect(hyphen_duns).to eq(duns_copy) 75 | end 76 | 77 | it 'should format an 7 digit DUNS into a 13 digit DUNS' do 78 | formatted_duns = Samwise::Util.format_duns(duns: seven_duns) 79 | 80 | expect(formatted_duns.length).to eq(13) 81 | end 82 | 83 | it 'should format an 8 digit DUNS into a 13 digit DUNS' do 84 | formatted_duns = Samwise::Util.format_duns(duns: eight_duns) 85 | 86 | expect(formatted_duns.length).to eq(13) 87 | end 88 | 89 | it 'should format a 9 digit DUNS into a 13 digit DUNS' do 90 | formatted_duns = Samwise::Util.format_duns(duns: nine_duns) 91 | 92 | expect(formatted_duns.length).to eq(13) 93 | end 94 | 95 | it 'should remove hyphens from a DUNS number' do 96 | formatted_duns = Samwise::Util.format_duns(duns: hyphen_duns) 97 | 98 | expect(formatted_duns).to eq('0801157180000') 99 | end 100 | 101 | it 'should raise a Samwise::Error::InvalidFormat error if the DUNS is invalid' do 102 | bad_dunses.each do |bad_duns| 103 | expect do 104 | Samwise::Util.format_duns(duns: bad_duns) 105 | end.to raise_error(Samwise::Error::InvalidFormat) 106 | end 107 | end 108 | end 109 | end 110 | -------------------------------------------------------------------------------- /spec/vcr/Samwise_Cli.yml: -------------------------------------------------------------------------------- 1 | --- 2 | http_interactions: 3 | - request: 4 | method: get 5 | uri: https://api.data.gov/sam/v1/registrations/0800374780000?api_key= 6 | body: 7 | encoding: UTF-8 8 | string: '' 9 | headers: 10 | User-Agent: 11 | - HTTPClient/1.0 (2.7.1, ruby 2.2.1 (2015-02-26)) 12 | Accept: 13 | - "*/*" 14 | Date: 15 | - Wed, 03 Feb 2016 16:18:20 GMT 16 | response: 17 | status: 18 | code: 200 19 | message: OK 20 | headers: 21 | Age: 22 | - '0' 23 | Content-Type: 24 | - application/json 25 | Date: 26 | - Wed, 03 Feb 2016 16:18:20 GMT 27 | Server: 28 | - openresty 29 | Vary: 30 | - Accept-Encoding 31 | - Accept-Encoding 32 | Via: 33 | - http/1.1 api-umbrella (ApacheTrafficServer [cMsSf ]) 34 | X-Cache: 35 | - MISS 36 | X-Ratelimit-Limit: 37 | - '5000' 38 | X-Ratelimit-Remaining: 39 | - '4999' 40 | Content-Length: 41 | - '2012' 42 | Connection: 43 | - keep-alive 44 | body: 45 | encoding: UTF-8 46 | string: '{"sam_data":{"registration":{"govtBusinessPoc":{"lastName":"SUDOL","address":{"Line1":"4301 47 | N HENDERSON RD APT 408","Zip":"22203","Country":"USA","City":"Arlington","stateorProvince":"VA"},"email":"BRENDANSUDOL@GMAIL.COM","usPhone":"5404218332","firstName":"BRENDAN"},"dunsPlus4":"0000","activationDate":"2015-10-30 48 | 11:42:30.0","fiscalYearEndCloseDate":"12/31","businessTypes":["VW","2X","27"],"registrationDate":"2015-10-28 49 | 00:00:00.0","certificationsURL":{"pdfUrl":"https://www.sam.gov/SAMPortal/filedownload?reportType=1&orgId=W9hfF7OSUNwKDaFAWfFZYnRXkGmbUzSHqFa0XGdQx%2FQrRuiaqgaGRobWADyRQmon&pitId=%2FiagvMpXNAcdZG%2Bygn7D2P61gHHrSdsNKFUGR72DFVZVJnfbF0L4QPi%2FudytK42M&requestId=61dsi9kL4T3z1Ee"},"hasDelinquentFederalDebt":false,"duns":"080037478","cage":"7H1Y7","hasKnownExclusion":false,"publicDisplay":true,"expirationDate":"2016-10-27 50 | 10:53:02.0","status":"ACTIVE","corporateStructureCode":"2J","stateOfIncorporation":"VA","corporateStructureName":"Sole 51 | Proprietorship","legalBusinessName":"Sudol, Brendan","congressionalDistrict":"VA 52 | 08","businessStartDate":"2015-10-28","statusMessage":"Active","lastUpdateDate":"2015-11-02 53 | 17:36:23.0","submissionDate":"2015-10-28 10:53:02.0","samAddress":{"Zip4":"2511","Line1":"4301 54 | N Henderson Rd Apt 408","Zip":"22203","Country":"USA","City":"Arlington","stateorProvince":"VA"},"naics":[{"isPrimary":false,"naicsCode":"518210","naicsName":"DATA 55 | PROCESSING, HOSTING, AND RELATED SERVICES"},{"isPrimary":true,"naicsCode":"541511","naicsName":"CUSTOM 56 | COMPUTER PROGRAMMING SERVICES"}],"creditCardUsage":true,"countryOfIncorporation":"USA","electronicBusinessPoc":{"lastName":"SUDOL","address":{"Line1":"4301 57 | N HENDERSON RD APT 408","Zip":"22203","Country":"USA","City":"Arlington","stateorProvince":"VA"},"email":"BRENDANSUDOL@GMAIL.COM","usPhone":"5404218332","firstName":"BRENDAN"},"mailingAddress":{"Zip4":"2511","Line1":"4301 58 | N Henderson Rd Apt 408","Zip":"22203","Country":"USA","City":"Arlington","stateorProvince":"VA"},"purposeOfRegistration":"ALL_AWARDS"}}}' 59 | http_version: 60 | recorded_at: Wed, 03 Feb 2016 16:18:20 GMT 61 | - request: 62 | method: get 63 | uri: https://api.data.gov/sam/v1/registrations/0800314780000?api_key= 64 | body: 65 | encoding: UTF-8 66 | string: '' 67 | headers: 68 | User-Agent: 69 | - HTTPClient/1.0 (2.7.1, ruby 2.2.1 (2015-02-26)) 70 | Accept: 71 | - "*/*" 72 | Date: 73 | - Wed, 03 Feb 2016 16:18:20 GMT 74 | response: 75 | status: 76 | code: 404 77 | message: Not Found 78 | headers: 79 | Age: 80 | - '0' 81 | Content-Type: 82 | - application/json 83 | Date: 84 | - Wed, 03 Feb 2016 16:18:21 GMT 85 | Server: 86 | - openresty 87 | Vary: 88 | - Accept-Encoding 89 | - Accept-Encoding 90 | Via: 91 | - http/1.1 api-umbrella (ApacheTrafficServer [cMsSf ]) 92 | X-Cache: 93 | - MISS 94 | X-Ratelimit-Limit: 95 | - '5000' 96 | X-Ratelimit-Remaining: 97 | - '4998' 98 | Content-Length: 99 | - '80' 100 | Connection: 101 | - keep-alive 102 | body: 103 | encoding: UTF-8 104 | string: '{"Message":"The registration could not be found","Code":404,"Error":"Not 105 | Found"}' 106 | http_version: 107 | recorded_at: Wed, 03 Feb 2016 16:18:20 GMT 108 | - request: 109 | method: get 110 | uri: https://api.data.gov/sam/v4/registrations/0800374780000?api_key= 111 | body: 112 | encoding: UTF-8 113 | string: '' 114 | headers: 115 | User-Agent: 116 | - HTTPClient/1.0 (2.8.0, ruby 2.2.0 (2014-12-25)) 117 | Accept: 118 | - "*/*" 119 | Date: 120 | - Sun, 24 Apr 2016 15:19:35 GMT 121 | response: 122 | status: 123 | code: 200 124 | message: OK 125 | headers: 126 | Server: 127 | - openresty 128 | Date: 129 | - Sun, 24 Apr 2016 15:19:35 GMT 130 | Content-Type: 131 | - application/json 132 | Transfer-Encoding: 133 | - chunked 134 | Connection: 135 | - keep-alive 136 | Vary: 137 | - Accept-Encoding 138 | - Accept-Encoding 139 | X-Ratelimit-Limit: 140 | - '5000' 141 | X-Ratelimit-Remaining: 142 | - '4999' 143 | Age: 144 | - '0' 145 | Via: 146 | - http/1.1 api-umbrella (ApacheTrafficServer [cMsSf ]) 147 | X-Cache: 148 | - MISS 149 | body: 150 | encoding: UTF-8 151 | string: '{"sam_data":{"registration":{"govtBusinessPoc":{"lastName":"SUDOL","address":{"zip":"22203","countryCode":"USA","line1":"4301 152 | N HENDERSON RD APT 408","stateorProvince":"VA","city":"Arlington"},"email":"BRENDANSUDOL@GMAIL.COM","usPhone":"5404218332","firstName":"BRENDAN"},"qualifications":{},"dunsPlus4":"0000","activationDate":"2015-10-30 153 | 11:42:30.0","fiscalYearEndCloseDate":"12/31","businessTypes":["VW","2X","27"],"registrationDate":"2015-10-28 154 | 00:00:00.0","certificationsURL":{"pdfUrl":"https://www.sam.gov/SAMPortal/filedownload?reportType=1&orgId=TxoniSnyCFoPHdoIAwftD1yc%2BZ7fKbLkln46HAxaGFYVB%2B%2B3kt%2BNKLC%2FlUMmUmjs&pitId=Cvo7UroEns2ZkjYp1CuQFHKGmIis7Cq6KSI8xkev6tPveoVBLdu0Ee%2FR7Px4bjSx&requestId=611ctoT0qotwyaC"},"hasDelinquentFederalDebt":false,"duns":"080037478","cage":"7H1Y7","hasKnownExclusion":false,"publicDisplay":true,"expirationDate":"2016-10-27 155 | 10:53:02.0","status":"ACTIVE","corporateStructureCode":"2J","stateOfIncorporation":"VA","corporateStructureName":"Sole 156 | Proprietorship","legalBusinessName":"Sudol, Brendan","congressionalDistrict":"VA 157 | 08","bondingInformation":{},"businessStartDate":"2015-10-28","statusMessage":"Active","lastUpdateDate":"2015-11-02 158 | 17:36:23.0","samAddress":{"zipPlus4":"2511","zip":"22203","countryCode":"USA","line1":"4301 159 | N Henderson Rd Apt 408","stateorProvince":"VA","city":"Arlington"},"submissionDate":"2015-10-28 160 | 10:53:02.0","naics":[{"isPrimary":false,"naicsCode":"518210","naicsName":"DATA 161 | PROCESSING, HOSTING, AND RELATED SERVICES"},{"isPrimary":true,"naicsCode":"541511","naicsName":"CUSTOM 162 | COMPUTER PROGRAMMING SERVICES"}],"certifications":{"farResponses":[{"id":"FAR 163 | 52.209-2"},{"id":"FAR 52.209-5","answers":[{"answerText":"No","section":"52.209-5.a.1.i.A"},{"answerText":"No","section":"52.209-5.a.1.i.B"},{"answerText":"No","section":"52.209-5.a.1.i.D"},{"answerText":"No","section":"52.209-5.a.1.i.C"},{"answerText":"No","section":"52.209-5.a.1.ii"}]},{"id":"FAR 164 | 52.203-2","answers":{"section":"52.203-2.b.2.i","SamPointOfContact":{"lastName":"Sudol","title":"CEO","firstName":"Brendan"}}},{"id":"FAR 165 | 52.215-6","answers":{"answerText":"No","section":"52.215-6.a"}},{"id":"FAR 166 | 52.214-14","answers":{"answerText":"No","section":"52.214-14.a"}},{"id":"FAR 167 | 52.223-4","answers":{"answerText":"Yes","section":"52.223-4"}},{"id":"FAR 168 | 52.223-9","answers":{"answerText":"Yes","section":"52.223-9"}},{"id":"FAR 169 | 52.219-2","answers":{"answerText":"No","section":"52.219-2.a"}},{"id":"FAR 170 | 52.204-3","answers":[{"answerText":"TIN ON FILE","section":"52.204-3.d"},{"answerText":"No","section":"52.204-3.f"}]},{"id":"FAR 171 | 52.212-3","answers":[{"naics":[{"isSmallBusiness":"Y","isPrimary":false,"naicsCode":518210,"naicsName":"DATA 172 | PROCESSING, HOSTING, AND RELATED SERVICES"},{"isSmallBusiness":"Y","isPrimary":true,"naicsCode":541511,"naicsName":"CUSTOM 173 | COMPUTER PROGRAMMING SERVICES"}],"section":"52.212-3.c"},{"answerText":"Yes","section":"52.212-3.c.1"},{"answerText":"Yes","section":"52.212-3.c.4"},{"answerText":"No","section":"52.212-3.c.5"},{"answerText":"No","section":"52.212-3.c.6.i"},{"answerText":"No","section":"52.212-3.c.6.ii"},{"answerText":"No","section":"52.212-3.c.7.i"},{"answerText":"No","section":"52.212-3.c.7.ii"},{"answerText":"No","section":"52.212-3.c.10.i.A"},{"answerText":"No","section":"52.212-3.c.10.i.B"},{"answerText":"No","section":"52.212-3.c.10.ii"},{"answerText":"No","section":"52.212-3.c.11.ii"},{"answerText":"No","section":"52.212-3.d.1.i"},{"answerText":"Yes","section":"52.212-3.d.1.ii"},{"answerText":"Sudol, 174 | Brendan has not had previous contracts subject to written affirmative action 175 | programs requirements from Secretary of Labor regulations.","section":"52.212-3.d.2.i"},{"answerText":"No","section":"52.212-3.f"},{"answerText":"No","section":"52.212-3.h.1"},{"answerText":"No","section":"52.212-3.h.2"},{"answerText":"No","section":"52.212-3.h.4"},{"answerText":"No","section":"52.212-3.h.3"},{"answerText":"No","section":"52.212-3.h.5"},{"answerText":"No","section":"52.212-3.i.2.i"},{"section":"52.212-3.j"},{"answerText":"Vendor 176 | will provide information with specific offers to the Government","section":"52.212-3.k.1.2.i"},{"answerText":"No","section":"52.212-3.k.2.2"},{"answerText":"No","section":"52.212-3.l.5"},{"answerText":"No","section":"52.212-3-AltII.iii"},{"answerText":"No","section":"52.226-2.b.1"},{"answerText":"No","section":"52.226-2.b.2"}]},{"id":"FAR 177 | 52.219-1","answers":[{"naics":[{"isSmallBusiness":"Y","isPrimary":false,"naicsCode":518210,"naicsName":"DATA 178 | PROCESSING, HOSTING, AND RELATED SERVICES"},{"isSmallBusiness":"Y","isPrimary":true,"naicsCode":541511,"naicsName":"CUSTOM 179 | COMPUTER PROGRAMMING SERVICES"}],"section":"52.219-1.b"},{"answerText":"Yes","section":"52.219-1.b.1"},{"answerText":"No","section":"52.219-1.b.3.1"},{"answerText":"No","section":"52.219-1.b.4.i"},{"answerText":"No","section":"52.219-1.b.4.ii"},{"answerText":"No","section":"52.219-1.b.5.i"},{"answerText":"No","section":"52.219-1.b.5.ii"},{"answerText":"No","section":"52.219-1.b.6"},{"answerText":"No","section":"52.219-1.b.7"},{"answerText":"No","section":"52.219-1.b.8.i"},{"answerText":"No","section":"52.219-1.b.8.ii"}]},{"id":"FAR 180 | 52.219-22","answers":[{"naics":[{"isSmallBusiness":"Y","isPrimary":false,"naicsCode":518210,"naicsName":"DATA 181 | PROCESSING, HOSTING, AND RELATED SERVICES"},{"isSmallBusiness":"Y","isPrimary":true,"naicsCode":541511,"naicsName":"CUSTOM 182 | COMPUTER PROGRAMMING SERVICES"}],"section":"52.219-22.b"},{"answerText":"No","section":"52.219-22.b.2.1"},{"answerText":"Yes","section":"52.219-22.b.1.ii"},{"answerText":"No","section":"52.219-22.AltI.3"}]},{"id":"FAR 183 | 52.227-15","answers":{"answerText":"No","section":"52.227-15.b.2"}},{"id":"FAR 184 | 52.204-17","answers":{"answerText":"No","section":"52.204-17.b"}},{"id":"FAR 185 | 52.222-18","answers":{"answerText":"No","section":"52.222-18.c.1"}},{"id":"FAR 186 | 52.222-22","answers":[{"answerText":"No","section":"52.222-22.a"},{"answerText":"Yes","section":"52.222-22.b"}]},{"id":"FAR 187 | 52.222-25","answers":{"answerText":"Sudol, Brendan has not had previous contracts 188 | subject to written affirmative action programs requirements from Secretary 189 | of Labor regulations.","section":"52.222-25"}},{"id":"FAR 52.225-2","answers":{"answerText":"No","section":"52.225-2.a"}},{"id":"FAR 190 | 52.225-4","answers":{"answerText":"No","section":"52.225-4.a"}},{"id":"FAR 191 | 52.225-6","answers":{"answerText":"No","section":"52.225-6.a"}},{"id":"FAR 192 | 52.222-48","answers":{"answerText":"Vendor will provide information with specific 193 | offers to the Government","section":"52.222-48.a.1"}},{"id":"FAR 52.222-52","answers":{"answerText":"No","section":"52.222-52.a.1.1"}}],"pdfUrl":"https://www.sam.gov/SAMPortal/filedownload?reportType=1&orgId=FOTejY59d1jhZbnlT3p7BjpHReDqqputLyVL2%2BJHeT1uh1zl5vb4WpVjVDSoFT0S&pitId=1L%2B%2BTsyweLX%2BUdmlwg%2FC%2B%2BCLvfhQNp93vJz7dnbCoSaSR7zcC0oRY5oP9Yvl%2Bd1FsqkJNQlE76iI%0AyXRsmv4c%2BA%3D%3D&requestId=3Zi3f15hCOZ0941"},"creditCardUsage":true,"countryOfIncorporation":"USA","electronicBusinessPoc":{"lastName":"SUDOL","address":{"zip":"22203","countryCode":"USA","line1":"4301 194 | N HENDERSON RD APT 408","stateorProvince":"VA","city":"Arlington"},"email":"BRENDANSUDOL@GMAIL.COM","usPhone":"5404218332","firstName":"BRENDAN"},"mailingAddress":{"zipPlus4":"2511","zip":"22203","countryCode":"USA","line1":"4301 195 | N Henderson Rd Apt 408","stateorProvince":"VA","city":"Arlington"},"purposeOfRegistration":"ALL_AWARDS"}}}' 196 | http_version: 197 | recorded_at: Sun, 24 Apr 2016 15:19:36 GMT 198 | - request: 199 | method: get 200 | uri: https://api.data.gov/sam/v4/registrations/0800314780000?api_key= 201 | body: 202 | encoding: UTF-8 203 | string: '' 204 | headers: 205 | User-Agent: 206 | - HTTPClient/1.0 (2.8.0, ruby 2.2.0 (2014-12-25)) 207 | Accept: 208 | - "*/*" 209 | Date: 210 | - Sun, 24 Apr 2016 15:19:36 GMT 211 | response: 212 | status: 213 | code: 404 214 | message: Not Found 215 | headers: 216 | Server: 217 | - openresty 218 | Date: 219 | - Sun, 24 Apr 2016 15:19:35 GMT 220 | Content-Type: 221 | - application/json 222 | Transfer-Encoding: 223 | - chunked 224 | Connection: 225 | - keep-alive 226 | Vary: 227 | - Accept-Encoding 228 | - Accept-Encoding 229 | X-Ratelimit-Limit: 230 | - '5000' 231 | X-Ratelimit-Remaining: 232 | - '4998' 233 | Age: 234 | - '0' 235 | Via: 236 | - http/1.1 api-umbrella (ApacheTrafficServer [cMsSf ]) 237 | X-Cache: 238 | - MISS 239 | body: 240 | encoding: UTF-8 241 | string: '{"Message":"The registration could not be found","Code":404,"Error":"Not 242 | Found"}' 243 | http_version: 244 | recorded_at: Sun, 24 Apr 2016 15:19:36 GMT 245 | recorded_with: VCR 3.0.1 246 | -------------------------------------------------------------------------------- /spec/vcr/Samwise_Client.yml: -------------------------------------------------------------------------------- 1 | --- 2 | http_interactions: 3 | - request: 4 | method: get 5 | uri: https://api.data.gov/sam/v4/registrations/8091025070000?api_key= 6 | body: 7 | encoding: UTF-8 8 | string: '' 9 | headers: 10 | User-Agent: 11 | - HTTPClient/1.0 (2.7.1, ruby 2.1.5 (2014-11-13)) 12 | Accept: 13 | - "*/*" 14 | Date: 15 | - Tue, 24 May 2016 20:30:27 GMT 16 | response: 17 | status: 18 | code: 200 19 | message: OK 20 | headers: 21 | Server: 22 | - openresty 23 | Date: 24 | - Tue, 24 May 2016 20:30:21 GMT 25 | Content-Type: 26 | - application/json 27 | Transfer-Encoding: 28 | - chunked 29 | Connection: 30 | - keep-alive 31 | Vary: 32 | - Accept-Encoding 33 | - Accept-Encoding 34 | X-Ratelimit-Limit: 35 | - '25' 36 | X-Ratelimit-Remaining: 37 | - '24' 38 | Age: 39 | - '0' 40 | Via: 41 | - http/1.1 api-umbrella (ApacheTrafficServer [cMsSf ]) 42 | X-Cache: 43 | - MISS 44 | body: 45 | encoding: UTF-8 46 | string: '{"sam_data":{"registration":{"govtBusinessPoc":{"lastName":"GOSWAMI","fax":"8665667533","address":{"zip":"20878","countryCode":"USA","line1":"14608 47 | Pebble Hill Lane","stateorProvince":"MD","city":"North Potomac"},"email":"VIJAY@XFINION.COM","usPhone":"3018014897","firstName":"VIJAY"},"disasterRelief":{"type":"ANY"},"qualifications":{},"dunsPlus4":"0000","activationDate":"2015-11-27 48 | 08:50:04.0","fiscalYearEndCloseDate":"12/31","businessTypes":["QZ","XS","VW","2X","27","23","A620240406"],"pastPerformancePoc":{"lastName":"MECCIA","address":{"zip":"20431","countryCode":"USA","line1":"600 49 | 19th St NW","stateorProvince":"DC","city":"Washington"},"email":"MECCIAMJ@STATE.GOV","usPhone":"2024857820","firstName":"MICHAEL"},"registrationDate":"2008-08-17 50 | 00:00:00.0","certificationsURL":{"pdfUrl":"https://www.sam.gov/SAMPortal/filedownload?reportType=2&orgId=7XSJiyJCAgoH4l%2FvaJm8Rkp3Yntmxz0MJZ2uoipQZ8DWMmld7Qk5l1hKhCxCP6Vo&pitId=YhJgbYtAO%2BHEPgDqw3VUY8YePz%2FfvQ6o1yMiHpMKjjZvbWe2ElHYRdkMGDmYM%2FDE&requestId=X8Pgh1WmTVs9YGZ"},"hasDelinquentFederalDebt":false,"duns":"809102507","altElectronicBusinessPoc":{"lastName":"GOSWAMI","fax":"8665667533","address":{"zip":"20878","countryCode":"USA","line1":"14608 51 | Pebble Hill Lnae","stateorProvince":"MD","city":"North Potomac"},"email":"NILAM@XFINION.COM","usPhone":"3013286579","firstName":"NILAM"},"cage":"561R4","hasKnownExclusion":false,"publicDisplay":true,"expirationDate":"2016-11-25 52 | 18:48:10.0","altPastPerformancePoc":{"lastName":"KAUL","address":{"zip":"22209","countryCode":"USA","line1":"1801 53 | North Lynn Street","stateorProvince":"VA","city":"Rosslyn"},"email":"KAULN@STATE.GOV","usPhone":"5713459854","firstName":"NISHA"},"status":"ACTIVE","corporateStructureCode":"2L","corporateStructureName":"Corporate 54 | Entity (Not Tax Exempt)","stateOfIncorporation":"MD","legalBusinessName":"XFINION 55 | INC.","congressionalDistrict":"MD 06","bondingInformation":{},"businessStartDate":"2005-09-16","lastUpdateDate":"2015-11-27 56 | 08:50:04.0","statusMessage":"Active","samAddress":{"zipPlus4":"6933","zip":"20817","countryCode":"USA","line1":"7800 57 | LONESOME PINE LN","stateorProvince":"MD","city":"BETHESDA"},"submissionDate":"2015-11-26 58 | 18:48:10.0","naics":[{"isPrimary":false,"naicsCode":"541519","naicsName":"OTHER 59 | COMPUTER RELATED SERVICES"},{"isPrimary":false,"naicsCode":"511210","naicsName":"SOFTWARE 60 | PUBLISHERS"},{"isPrimary":true,"naicsCode":"541511","naicsName":"CUSTOM COMPUTER 61 | PROGRAMMING SERVICES"},{"isPrimary":false,"naicsCode":"518210","naicsName":"DATA 62 | PROCESSING, HOSTING, AND RELATED SERVICES"},{"isPrimary":false,"naicsCode":"541512","naicsName":"COMPUTER 63 | SYSTEMS DESIGN SERVICES"}],"certifications":{"farResponses":[{"id":"FAR 52.209-2","answers":[{"answerText":"No","section":"52.209-2.c.1"},{"answerText":"No","section":"52.209-2.c.2"}]},{"id":"FAR 64 | 52.209-5","answers":[{"answerText":"No","section":"52.209-5.a.1.i.A"},{"answerText":"No","section":"52.209-5.a.1.i.B"},{"answerText":"No","section":"52.209-5.a.1.i.D"},{"answerText":"No","section":"52.209-5.a.1.i.C"},{"answerText":"No","section":"52.209-5.a.1.ii"}]},{"id":"FAR 65 | 52.203-2","answers":{"section":"52.203-2.b.2.i","SamPointOfContact":{"lastName":"Goswami","title":"Principal","firstName":"Vijaykumar"}}},{"id":"FAR 66 | 52.215-6","answers":{"answerText":"No","section":"52.215-6.a"}},{"id":"FAR 67 | 52.214-14","answers":{"answerText":"No","section":"52.214-14.a"}},{"id":"FAR 68 | 52.223-4","answers":{"answerText":"No","section":"52.223-4"}},{"id":"FAR 52.223-9","answers":{"answerText":"No","section":"52.223-9"}},{"id":"FAR 69 | 52.219-2","answers":{"answerText":"No","section":"52.219-2.a"}},{"id":"FAR 70 | 52.204-3","answers":[{"answerText":"TIN ON FILE","section":"52.204-3.d"},{"answerText":"No","section":"52.204-3.f"}]},{"id":"FAR 71 | 52.212-3","answers":[{"naics":[{"isSmallBusiness":"Y","isPrimary":false,"naicsCode":541519,"ExcpCounter":1,"naicsName":"Other 72 | Computer Related Services"},{"isSmallBusiness":"Y","isPrimary":false,"naicsCode":541519,"ExcpCounter":2,"naicsName":"Information 73 | Technology Value Added Resellers18"},{"isSmallBusiness":"Y","isPrimary":false,"naicsCode":518210,"naicsName":"DATA 74 | PROCESSING, HOSTING, AND RELATED SERVICES"},{"isSmallBusiness":"Y","isPrimary":false,"naicsCode":541512,"naicsName":"COMPUTER 75 | SYSTEMS DESIGN SERVICES"},{"isSmallBusiness":"Y","isPrimary":true,"naicsCode":541511,"naicsName":"CUSTOM 76 | COMPUTER PROGRAMMING SERVICES"},{"isSmallBusiness":"Y","isPrimary":false,"naicsCode":511210,"naicsName":"SOFTWARE 77 | PUBLISHERS"}],"section":"52.212-3.c"},{"answerText":"Yes","section":"52.212-3.c.1"},{"answerText":"Yes","section":"52.212-3.c.4"},{"answerText":"No","section":"52.212-3.c.5"},{"answerText":"No","section":"52.212-3.c.6.i"},{"answerText":"No","section":"52.212-3.c.6.ii"},{"answerText":"No","section":"52.212-3.c.7.i"},{"answerText":"No","section":"52.212-3.c.7.ii"},{"answerText":"No","section":"52.212-3.c.10.i.A"},{"answerText":"No","section":"52.212-3.c.10.i.B"},{"answerText":"No","section":"52.212-3.c.10.ii"},{"answerText":"No","section":"52.212-3.c.11.ii"},{"answerText":"No","section":"52.212-3.d.1.i"},{"answerText":"Yes","section":"52.212-3.d.1.ii"},{"answerText":"XFINION 78 | INC. has not had previous contracts subject to written affirmative action 79 | programs requirements from Secretary of Labor regulations.","section":"52.212-3.d.2.i"},{"answerText":"No","section":"52.212-3.f"},{"answerText":"No","section":"52.212-3.h.1"},{"answerText":"No","section":"52.212-3.h.2"},{"answerText":"No","section":"52.212-3.h.4"},{"answerText":"No","section":"52.212-3.h.3"},{"answerText":"No","section":"52.212-3.h.5"},{"answerText":"No","section":"52.212-3.i.2.i"},{"section":"52.212-3.j"},{"answerText":"Vendor 80 | will provide information with specific offers to the Government","section":"52.212-3.k.1.2.i"},{"answerText":"Vendor 81 | will provide information with specific offers to the Government","section":"52.212-3.k.2.2"},{"answerText":"No","section":"52.212-3.l.5"},{"answerText":"No","section":"52.212-3.n.2.i"},{"answerText":"No","section":"52.212-3.n.2.ii"},{"answerText":"No","section":"52.226-2.b.1"},{"answerText":"No","section":"52.226-2.b.2"}]},{"id":"FAR 82 | 52.219-1","answers":[{"naics":[{"isSmallBusiness":"Y","isPrimary":false,"naicsCode":541519,"ExcpCounter":1,"naicsName":"Other 83 | Computer Related Services"},{"isSmallBusiness":"Y","isPrimary":false,"naicsCode":541519,"ExcpCounter":2,"naicsName":"Information 84 | Technology Value Added Resellers18"},{"isSmallBusiness":"Y","isPrimary":false,"naicsCode":518210,"naicsName":"DATA 85 | PROCESSING, HOSTING, AND RELATED SERVICES"},{"isSmallBusiness":"Y","isPrimary":false,"naicsCode":541512,"naicsName":"COMPUTER 86 | SYSTEMS DESIGN SERVICES"},{"isSmallBusiness":"Y","isPrimary":true,"naicsCode":541511,"naicsName":"CUSTOM 87 | COMPUTER PROGRAMMING SERVICES"},{"isSmallBusiness":"Y","isPrimary":false,"naicsCode":511210,"naicsName":"SOFTWARE 88 | PUBLISHERS"}],"section":"52.219-1.b"},{"answerText":"Yes","section":"52.219-1.b.1"},{"answerText":"No","section":"52.219-1.b.3.1"},{"answerText":"No","section":"52.219-1.b.4.i"},{"answerText":"No","section":"52.219-1.b.4.ii"},{"answerText":"No","section":"52.219-1.b.5.i"},{"answerText":"No","section":"52.219-1.b.5.ii"},{"answerText":"No","section":"52.219-1.b.6"},{"answerText":"No","section":"52.219-1.b.7"},{"answerText":"No","section":"52.219-1.b.8.i"},{"answerText":"No","section":"52.219-1.b.8.ii"},{"answerText":"Yes","section":"52.219-1.b.9.5"}]},{"id":"FAR 89 | 52.219-22","answers":[{"naics":[{"isSmallBusiness":"Y","isPrimary":false,"naicsCode":541519,"ExcpCounter":1,"naicsName":"Other 90 | Computer Related Services"},{"isSmallBusiness":"Y","isPrimary":false,"naicsCode":541519,"ExcpCounter":2,"naicsName":"Information 91 | Technology Value Added Resellers18"},{"isSmallBusiness":"Y","isPrimary":false,"naicsCode":518210,"naicsName":"DATA 92 | PROCESSING, HOSTING, AND RELATED SERVICES"},{"isSmallBusiness":"Y","isPrimary":false,"naicsCode":541512,"naicsName":"COMPUTER 93 | SYSTEMS DESIGN SERVICES"},{"isSmallBusiness":"Y","isPrimary":true,"naicsCode":541511,"naicsName":"CUSTOM 94 | COMPUTER PROGRAMMING SERVICES"},{"isSmallBusiness":"Y","isPrimary":false,"naicsCode":511210,"naicsName":"SOFTWARE 95 | PUBLISHERS"}],"section":"52.219-22.b"},{"answerText":"No","section":"52.219-22.b.2.1"},{"answerText":"Yes","section":"52.219-22.b.1.ii"}]},{"id":"FAR 96 | 52.227-15","answers":{"answerText":"No","section":"52.227-15.b.2"}},{"id":"FAR 97 | 52.204-17","answers":{"answerText":"No","section":"52.204-17.b"}},{"id":"FAR 98 | 52.222-18","answers":{"answerText":"No","section":"52.222-18.c.1"}},{"id":"FAR 99 | 52.222-22","answers":[{"answerText":"No","section":"52.222-22.a"},{"answerText":"Yes","section":"52.222-22.b"}]},{"id":"FAR 100 | 52.222-25","answers":{"answerText":"XFINION INC. has not had previous contracts 101 | subject to written affirmative action programs requirements from Secretary 102 | of Labor regulations.","section":"52.222-25"}},{"id":"FAR 52.225-2","answers":{"answerText":"No","section":"52.225-2.a"}},{"id":"FAR 103 | 52.225-4","answers":{"answerText":"No","section":"52.225-4.a"}},{"id":"FAR 104 | 52.225-6","answers":{"answerText":"No","section":"52.225-6.a"}},{"id":"FAR 105 | 52.222-48","answers":{"answerText":"Vendor will provide information with specific 106 | offers to the Government","section":"52.222-48.a.1"}},{"id":"FAR 52.222-52","answers":{"answerText":"Vendor 107 | will provide information with specific offers to the Government","section":"52.222-52.a.1.1"}}],"pdfUrl":"https://www.sam.gov/SAMPortal/filedownload?reportType=2&orgId=oJzAkkf8Kepf889cerKMZIArft9S7T3cB8UWbSlIdEwo4zGi4dFE%2Bz7rlpNo9IQd&pitId=w1kCvDnCHvGiqmD7nhUHDWs7Ds4FZmb%2BG%2BnjU0Sa8S0SUdDJba1z3lgClDxBq5%2BUaVnX7SmVjIS5%0AlEINb8Ciiw%3D%3D&requestId=IyP0V2rk57bF5Uu","dfarResponses":[{"id":"DFAR252.247-7022","answers":{"answerText":"No","section":"252.247-7022.b"}},{"id":"DFAR252.216-7008","answers":{"answerText":"No","section":"DFAR252.216-7008.a"}},{"id":"DFAR252.209-7002","answers":{"answerText":"No","section":"DFAR252.209-7002.1"}},{"id":"DFAR 108 | 252.225-7000","answers":{"answerText":"No","section":"252.225-7000.c.1"}},{"id":"DFAR 109 | 252.225-7020","answers":{"answerText":"No","section":"252.225-7020.c.1"}},{"id":"DFAR 110 | 252.225-7022","answers":{"answerText":"No","section":"252.225-7022.c.1"}},{"id":"DFAR 111 | 252.225-7035","answers":{"answerText":"No","section":"252.225-7035.c.1"}},{"id":"DFAR252.247-7049","answers":[{"answerText":"No","section":"252.247-7049.1"},{"answerText":"No","section":"252.247-7049.2"},{"answerText":"No","section":"252.247-7049.3"},{"answerText":"No","section":"252.247-7049.4"}]}]},"corporateUrl":"http://www.XFinion.com","altGovtBusinessPoc":{"lastName":"GOSWAMI","fax":"8665667533","address":{"zip":"20878","countryCode":"USA","line1":"14608 112 | Pebble Hill Lane","stateorProvince":"MD","city":"North Potomac"},"email":"NILAM@XFINION.COM","usPhone":"3013286579","firstName":"NILAM"},"creditCardUsage":true,"countryOfIncorporation":"USA","divisionNumber":"XFinion","electronicBusinessPoc":{"lastName":"GOSWAMI","fax":"8665667533","address":{"zip":"20878","countryCode":"USA","line1":"14608 113 | Pebble Hill Lane","stateorProvince":"MD","city":"North Potomac"},"email":"VIJAY@XFINION.COM","usPhone":"3018014897","firstName":"VIJAY"},"mailingAddress":{"zip":"20817","countryCode":"USA","line1":"7800 114 | lonesome pine ln","stateorProvince":"MD","city":"Bethesda"},"purposeOfRegistration":"ALL_AWARDS"}}}' 115 | http_version: 116 | recorded_at: Tue, 24 May 2016 20:30:28 GMT 117 | - request: 118 | method: get 119 | uri: https://api.data.gov/sam/v4/registrations/0123456780002?api_key= 120 | body: 121 | encoding: UTF-8 122 | string: '' 123 | headers: 124 | User-Agent: 125 | - HTTPClient/1.0 (2.7.1, ruby 2.1.5 (2014-11-13)) 126 | Accept: 127 | - "*/*" 128 | Date: 129 | - Tue, 24 May 2016 20:30:28 GMT 130 | response: 131 | status: 132 | code: 404 133 | message: Not Found 134 | headers: 135 | Server: 136 | - openresty 137 | Date: 138 | - Tue, 24 May 2016 20:30:22 GMT 139 | Content-Type: 140 | - application/json 141 | Transfer-Encoding: 142 | - chunked 143 | Connection: 144 | - keep-alive 145 | Vary: 146 | - Accept-Encoding 147 | - Accept-Encoding 148 | X-Ratelimit-Limit: 149 | - '25' 150 | X-Ratelimit-Remaining: 151 | - '24' 152 | Age: 153 | - '0' 154 | Via: 155 | - http/1.1 api-umbrella (ApacheTrafficServer [cMsSf ]) 156 | X-Cache: 157 | - MISS 158 | body: 159 | encoding: UTF-8 160 | string: '{"Message":"The registration could not be found","Code":404,"Error":"Not 161 | Found"}' 162 | http_version: 163 | recorded_at: Tue, 24 May 2016 20:30:28 GMT 164 | - request: 165 | method: get 166 | uri: https://api.data.gov/sam/v4/registrations/0000001000000?api_key= 167 | body: 168 | encoding: UTF-8 169 | string: '' 170 | headers: 171 | User-Agent: 172 | - HTTPClient/1.0 (2.7.1, ruby 2.1.5 (2014-11-13)) 173 | Accept: 174 | - "*/*" 175 | Date: 176 | - Tue, 24 May 2016 20:30:28 GMT 177 | response: 178 | status: 179 | code: 404 180 | message: Not Found 181 | headers: 182 | Server: 183 | - openresty 184 | Date: 185 | - Tue, 24 May 2016 20:30:22 GMT 186 | Content-Type: 187 | - application/json 188 | Transfer-Encoding: 189 | - chunked 190 | Connection: 191 | - keep-alive 192 | Vary: 193 | - Accept-Encoding 194 | - Accept-Encoding 195 | X-Ratelimit-Limit: 196 | - '25' 197 | X-Ratelimit-Remaining: 198 | - '24' 199 | Age: 200 | - '0' 201 | Via: 202 | - http/1.1 api-umbrella (ApacheTrafficServer [cMsSf ]) 203 | X-Cache: 204 | - MISS 205 | body: 206 | encoding: UTF-8 207 | string: '{"Message":"The registration could not be found","Code":404,"Error":"Not 208 | Found"}' 209 | http_version: 210 | recorded_at: Tue, 24 May 2016 20:30:29 GMT 211 | - request: 212 | method: get 213 | uri: https://api.data.gov/sam/v4/registrations/0783270180000?api_key= 214 | body: 215 | encoding: UTF-8 216 | string: '' 217 | headers: 218 | User-Agent: 219 | - HTTPClient/1.0 (2.7.1, ruby 2.1.5 (2014-11-13)) 220 | Accept: 221 | - "*/*" 222 | Date: 223 | - Tue, 24 May 2016 20:30:29 GMT 224 | response: 225 | status: 226 | code: 200 227 | message: OK 228 | headers: 229 | Server: 230 | - openresty 231 | Date: 232 | - Tue, 24 May 2016 20:30:22 GMT 233 | Content-Type: 234 | - application/json 235 | Transfer-Encoding: 236 | - chunked 237 | Connection: 238 | - keep-alive 239 | Vary: 240 | - Accept-Encoding 241 | - Accept-Encoding 242 | X-Ratelimit-Limit: 243 | - '25' 244 | X-Ratelimit-Remaining: 245 | - '23' 246 | Age: 247 | - '0' 248 | Via: 249 | - http/1.1 api-umbrella (ApacheTrafficServer [cMsSf ]) 250 | X-Cache: 251 | - MISS 252 | body: 253 | encoding: UTF-8 254 | string: '{"sam_data":{"registration":{"govtBusinessPoc":{"lastName":"REYNOLDS","title":"CHIEF 255 | ENGINEER","fax":"9784055109","address":{"zipPlus4":"2799","zip":"01742","countryCode":"USA","line1":"328 256 | VIRGINIA ROAD","stateorProvince":"MA","city":"CONCORD"},"email":"MCR@ISLANDPEAKSOFTWARE.COM","middleInitial":"C","usPhone":"9783418385","firstName":"MARK"},"qualifications":{},"dunsPlus4":"0000","activationDate":"2016-03-28 257 | 10:14:38.0","fiscalYearEndCloseDate":"12/31","businessTypes":["LJ","VW","2X"],"registrationDate":"2011-12-27 258 | 00:00:00.0","certificationsURL":{"pdfUrl":"https://www.sam.gov/SAMPortal/filedownload?reportType=2&orgId=0VocQSIo565AfpNPbIMORbOtcoqJjjoK6ZYLBfRgy14db5eRyn4fDkpkhphvfu8w&pitId=I%2FHTb4OrGHUwBvgjTvHIMnwx9pU4xMfoQs44HUZ1tjIJzUcGjLTCjllI2wKgMNqQ&requestId=zZkl7Z0Xi4G7L32"},"pscCodes":[{"pscName":"R&D- 259 | GENERAL SCIENCE/TECHNOLOGY: MATHEMATICAL/COMPUTER SCIENCES (APPLIED RESEARCH/EXPLORATORY 260 | DEVELOPMENT)","pscCode":"AJ22"},{"pscName":"R&D- GENERAL SCIENCE/TECHNOLOGY: 261 | MATHEMATICAL/COMPUTER SCIENCES (BASIC RESEARCH)","pscCode":"AJ21"},{"pscName":"R&D- 262 | GENERAL SCIENCE/TECHNOLOGY: MATHEMATICAL/COMPUTER SCIENCES (ADVANCED DEVELOPMENT)","pscCode":"AJ23"}],"hasDelinquentFederalDebt":false,"duns":"078327018","altElectronicBusinessPoc":{"lastName":"REYNOLDS","title":"CHIEF 263 | ENGINEER","fax":"9783710046","address":{"zipPlus4":"2799","zip":"01742","countryCode":"USA","line1":"328 264 | VIRGINIA ROAD","stateorProvince":"MA","city":"CONCORD"},"email":"MARKCREYNOLDS@COMCAST.NET","middleInitial":"C","usPhone":"9783710046","firstName":"MARK"},"cage":"6M6Y4","hasKnownExclusion":false,"publicDisplay":true,"expirationDate":"2017-03-28 265 | 10:05:48.0","status":"ACTIVE","corporateStructureCode":"2K","stateOfIncorporation":"MA","corporateStructureName":"Partnership 266 | or Limited Liability Partnership","legalBusinessName":"ISLAND PEAK SOFTWARE 267 | LLC","congressionalDistrict":"MA 03","bondingInformation":{},"businessStartDate":"2011-11-30","lastUpdateDate":"2016-03-28 268 | 10:14:38.0","statusMessage":"Active","samAddress":{"zipPlus4":"2799","zip":"01742","countryCode":"USA","line1":"328 269 | VIRGINIA RD","stateorProvince":"MA","city":"CONCORD"},"submissionDate":"2016-03-28 270 | 10:05:48.0","naics":[{"isPrimary":false,"naicsCode":"541511","naicsName":"CUSTOM 271 | COMPUTER PROGRAMMING SERVICES"},{"isPrimary":true,"naicsCode":"541712","naicsName":"RESEARCH 272 | AND DEVELOPMENT IN THE PHYSICAL, ENGINEERING, AND LIFE SCIENCES (EXCEPT BIOTECHNOLOGY)"}],"certifications":{"farResponses":[{"id":"FAR 273 | 52.209-2","answers":[{"answerText":"No","section":"52.209-2.c.1"},{"answerText":"No","section":"52.209-2.c.2"}]},{"id":"FAR 274 | 52.209-5","answers":[{"answerText":"No","section":"52.209-5.a.1.i.A"},{"answerText":"No","section":"52.209-5.a.1.i.B"},{"answerText":"No","section":"52.209-5.a.1.i.D"},{"answerText":"No","section":"52.209-5.a.1.i.C"},{"answerText":"No","section":"52.209-5.a.1.ii"}]},{"id":"FAR 275 | 52.203-2","answers":{"section":"52.203-2.b.2.i","SamPointOfContact":{"lastName":"Reynolds","title":"Chief 276 | Engineer","firstName":"Mark"}}},{"id":"FAR 52.215-6","answers":{"answerText":"No","section":"52.215-6.a"}},{"id":"FAR 277 | 52.214-14","answers":{"answerText":"No","section":"52.214-14.a"}},{"id":"FAR 278 | 52.223-4","answers":{"answerText":"Yes","section":"52.223-4"}},{"id":"FAR 279 | 52.223-9","answers":{"answerText":"Yes","section":"52.223-9"}},{"id":"FAR 280 | 52.219-2","answers":{"answerText":"No","section":"52.219-2.a"}},{"id":"FAR 281 | 52.204-3","answers":[{"answerText":"TIN ON FILE","section":"52.204-3.d"},{"answerText":"No","section":"52.204-3.f"}]},{"id":"FAR 282 | 52.212-3","answers":[{"naics":[{"isSmallBusiness":"Y","isPrimary":true,"naicsCode":541712,"ExcpCounter":1,"naicsName":"Research 283 | and Development in the Physical, Engineering, and Life Sciences (except Biotechnology)"},{"isSmallBusiness":"Y","isPrimary":true,"naicsCode":541712,"ExcpCounter":2,"naicsName":"Aircraft 284 | Engine and Engine Parts"},{"isSmallBusiness":"Y","isPrimary":true,"naicsCode":541712,"ExcpCounter":3,"naicsName":"Other 285 | Aircraft Parts and Auxiliary Equipment"},{"isSmallBusiness":"Y","isPrimary":true,"naicsCode":541712,"ExcpCounter":4,"naicsName":"Guided 286 | Missiles and Space Vehicles, Their Propulsion Units and Propulsion Parts"},{"isSmallBusiness":"Y","isPrimary":false,"naicsCode":541511,"naicsName":"CUSTOM 287 | COMPUTER PROGRAMMING SERVICES"}],"section":"52.212-3.c"},{"answerText":"Yes","section":"52.212-3.c.1"},{"answerText":"No","section":"52.212-3.c.4"},{"answerText":"No","section":"52.212-3.c.5"},{"answerText":"No","section":"52.212-3.c.6.i"},{"answerText":"No","section":"52.212-3.c.6.ii"},{"answerText":"No","section":"52.212-3.c.7.i"},{"answerText":"No","section":"52.212-3.c.7.ii"},{"answerText":"No","section":"52.212-3.c.10.i.A"},{"answerText":"No","section":"52.212-3.c.10.i.B"},{"answerText":"No","section":"52.212-3.c.10.ii"},{"answerText":"No","section":"52.212-3.c.11.ii"},{"answerText":"No","section":"52.212-3.d.1.i"},{"answerText":"Yes","section":"52.212-3.d.1.ii"},{"answerText":"ISLAND 288 | PEAK SOFTWARE LLC has not had previous contracts subject to written affirmative 289 | action programs requirements from Secretary of Labor regulations.","section":"52.212-3.d.2.i"},{"answerText":"No","section":"52.212-3.f"},{"answerText":"No","section":"52.212-3.h.1"},{"answerText":"No","section":"52.212-3.h.2"},{"answerText":"No","section":"52.212-3.h.4"},{"answerText":"No","section":"52.212-3.h.3"},{"answerText":"No","section":"52.212-3.h.5"},{"answerText":"No","section":"52.212-3.i.2.i"},{"section":"52.212-3.j"},{"answerText":"No","section":"52.212-3.k.1.2.i"},{"answerText":"No","section":"52.212-3.k.2.2"},{"answerText":"No","section":"52.212-3.l.5"},{"answerText":"No","section":"52.212-3.n.2.i"},{"answerText":"No","section":"52.212-3.n.2.ii"},{"answerText":"No","section":"52.226-2.b.1"},{"answerText":"No","section":"52.226-2.b.2"}]},{"id":"FAR 290 | 52.219-1","answers":[{"naics":[{"isSmallBusiness":"Y","isPrimary":true,"naicsCode":541712,"ExcpCounter":1,"naicsName":"Research 291 | and Development in the Physical, Engineering, and Life Sciences (except Biotechnology)"},{"isSmallBusiness":"Y","isPrimary":true,"naicsCode":541712,"ExcpCounter":2,"naicsName":"Aircraft 292 | Engine and Engine Parts"},{"isSmallBusiness":"Y","isPrimary":true,"naicsCode":541712,"ExcpCounter":3,"naicsName":"Other 293 | Aircraft Parts and Auxiliary Equipment"},{"isSmallBusiness":"Y","isPrimary":true,"naicsCode":541712,"ExcpCounter":4,"naicsName":"Guided 294 | Missiles and Space Vehicles, Their Propulsion Units and Propulsion Parts"},{"isSmallBusiness":"Y","isPrimary":false,"naicsCode":541511,"naicsName":"CUSTOM 295 | COMPUTER PROGRAMMING SERVICES"}],"section":"52.219-1.b"},{"answerText":"Yes","section":"52.219-1.b.1"},{"answerText":"No","section":"52.219-1.b.3.1"},{"answerText":"No","section":"52.219-1.b.4.i"},{"answerText":"No","section":"52.219-1.b.4.ii"},{"answerText":"No","section":"52.219-1.b.5.i"},{"answerText":"No","section":"52.219-1.b.5.ii"},{"answerText":"No","section":"52.219-1.b.6"},{"answerText":"No","section":"52.219-1.b.7"},{"answerText":"No","section":"52.219-1.b.8.i"},{"answerText":"No","section":"52.219-1.b.8.ii"}]},{"id":"FAR 296 | 52.219-22","answers":[{"naics":[{"isSmallBusiness":"Y","isPrimary":true,"naicsCode":541712,"ExcpCounter":1,"naicsName":"Research 297 | and Development in the Physical, Engineering, and Life Sciences (except Biotechnology)"},{"isSmallBusiness":"Y","isPrimary":true,"naicsCode":541712,"ExcpCounter":2,"naicsName":"Aircraft 298 | Engine and Engine Parts"},{"isSmallBusiness":"Y","isPrimary":true,"naicsCode":541712,"ExcpCounter":3,"naicsName":"Other 299 | Aircraft Parts and Auxiliary Equipment"},{"isSmallBusiness":"Y","isPrimary":true,"naicsCode":541712,"ExcpCounter":4,"naicsName":"Guided 300 | Missiles and Space Vehicles, Their Propulsion Units and Propulsion Parts"},{"isSmallBusiness":"Y","isPrimary":false,"naicsCode":541511,"naicsName":"CUSTOM 301 | COMPUTER PROGRAMMING SERVICES"}],"section":"52.219-22.b"},{"answerText":"No","section":"52.219-22.b.2.1"},{"answerText":"No","section":"52.219-22.b.1.ii"}]},{"id":"FAR 302 | 52.227-15","answers":{"answerText":"Vendor will provide information with specific 303 | offers to the Government","section":"52.227-15.b.2"}},{"id":"FAR 52.204-17","answers":{"answerText":"No","section":"52.204-17.b"}},{"id":"FAR 304 | 52.222-18","answers":{"answerText":"No","section":"52.222-18.c.1"}},{"id":"FAR 305 | 52.222-22","answers":[{"answerText":"No","section":"52.222-22.a"},{"answerText":"Yes","section":"52.222-22.b"}]},{"id":"FAR 306 | 52.222-25","answers":{"answerText":"ISLAND PEAK SOFTWARE LLC has not had 307 | previous contracts subject to written affirmative action programs requirements 308 | from Secretary of Labor regulations.","section":"52.222-25"}},{"id":"FAR 52.225-2","answers":{"answerText":"No","section":"52.225-2.a"}},{"id":"FAR 309 | 52.225-4","answers":{"answerText":"No","section":"52.225-4.a"}},{"id":"FAR 310 | 52.225-6","answers":{"answerText":"No","section":"52.225-6.a"}},{"id":"FAR 311 | 52.222-48","answers":{"answerText":"No","section":"52.222-48.a.1"}},{"id":"FAR 312 | 52.222-52","answers":{"answerText":"No","section":"52.222-52.a.1.1"}}],"pdfUrl":"https://www.sam.gov/SAMPortal/filedownload?reportType=2&orgId=W8%2BrZF4X0bFuuOVOXbugLJjCWEAVhWTS4Bnzy0c03R9Um%2B0ctz5HIsbTeJCKZEAo&pitId=xYLEtbYCokVwjlRuhopTZwrxvqFsXVG2QjiMQLWHw%2FMnyNFhCfRE%2B5%2BKwSFa9U3SbC2PDN5C8435%0A8Yg2EjW5yA%3D%3D&requestId=SGtWCD7V3Aj0ZaF","dfarResponses":[{"id":"DFAR252.247-7022","answers":{"answerText":"No","section":"252.247-7022.b"}},{"id":"DFAR252.216-7008","answers":{"answerText":"No","section":"DFAR252.216-7008.a"}},{"id":"DFAR252.209-7002","answers":{"answerText":"No","section":"DFAR252.209-7002.1"}},{"id":"DFAR 313 | 252.225-7000","answers":{"answerText":"No","section":"252.225-7000.c.1"}},{"id":"DFAR 314 | 252.225-7020","answers":{"answerText":"No","section":"252.225-7020.c.1"}},{"id":"DFAR 315 | 252.225-7022","answers":{"answerText":"No","section":"252.225-7022.c.1"}},{"id":"DFAR 316 | 252.225-7035","answers":{"answerText":"No","section":"252.225-7035.c.1"}},{"id":"DFAR252.247-7049","answers":[{"answerText":"No","section":"252.247-7049.1"},{"answerText":"No","section":"252.247-7049.2"},{"answerText":"No","section":"252.247-7049.3"},{"answerText":"No","section":"252.247-7049.4"}]}]},"corporateUrl":"www.islandpeaksoftware.com","altGovtBusinessPoc":{"lastName":"REYNOLDS","title":"CHIEF 317 | ENGINEER","fax":"9783710046","address":{"zipPlus4":"2799","zip":"01742","countryCode":"USA","line1":"328 318 | VIRGINIA ROAD","stateorProvince":"MA","city":"CONCORD"},"email":"MARKCREYNOLDS@COMCAST.NET","middleInitial":"C","usPhone":"9783710046","firstName":"MARK"},"creditCardUsage":false,"countryOfIncorporation":"USA","electronicBusinessPoc":{"lastName":"REYNOLDS","title":"CHIEF 319 | ENGINEER","fax":"9784055109","address":{"zipPlus4":"2799","zip":"01742","countryCode":"USA","line1":"328 320 | VIRGINIA ROAD","stateorProvince":"MA","city":"CONCORD"},"email":"MCR@ISLANDPEAKSOFTWARE.COM","middleInitial":"C","usPhone":"9783418385","firstName":"MARK"},"mailingAddress":{"zipPlus4":"2799","zip":"01742","countryCode":"USA","line1":"328 321 | VIRGINIA ROAD","stateorProvince":"MA","city":"CONCORD"},"purposeOfRegistration":"ALL_AWARDS"}}}' 322 | http_version: 323 | recorded_at: Tue, 24 May 2016 20:30:29 GMT 324 | - request: 325 | method: get 326 | uri: https://api.data.gov/sam/v4/registrations/0223841150000?api_key= 327 | body: 328 | encoding: UTF-8 329 | string: '' 330 | headers: 331 | User-Agent: 332 | - HTTPClient/1.0 (2.7.1, ruby 2.1.5 (2014-11-13)) 333 | Accept: 334 | - "*/*" 335 | Date: 336 | - Tue, 24 May 2016 20:30:29 GMT 337 | response: 338 | status: 339 | code: 200 340 | message: OK 341 | headers: 342 | Server: 343 | - openresty 344 | Date: 345 | - Tue, 24 May 2016 20:30:22 GMT 346 | Content-Type: 347 | - application/json 348 | Transfer-Encoding: 349 | - chunked 350 | Connection: 351 | - keep-alive 352 | Vary: 353 | - Accept-Encoding 354 | - Accept-Encoding 355 | X-Ratelimit-Limit: 356 | - '25' 357 | X-Ratelimit-Remaining: 358 | - '23' 359 | Age: 360 | - '0' 361 | Via: 362 | - http/1.1 api-umbrella (ApacheTrafficServer [cMsSf ]) 363 | X-Cache: 364 | - MISS 365 | body: 366 | encoding: UTF-8 367 | string: '{"sam_data":{"registration":{"govtBusinessPoc":{"lastName":"GREMILLION","usPhoneExt":"1112","fax":"5048311901","address":{"zipPlus4":"3044","zip":"70005","countryCode":"USA","line1":"111 368 | VETERANS BLVD.","stateorProvince":"LA","line2":"STE. 1600","city":"METAIRIE"},"email":"RICK.GREMILLION@GEOCENT.COM","usPhone":"5048311900","firstName":"RICHARD"},"qualifications":{"acass":{"id":"SF330","answers":{"answerText":"No","section":"SF330.1"}}},"dunsPlus4":"0000","activationDate":"2015-08-06 369 | 09:31:21.0","fiscalYearEndCloseDate":"12/31","businessTypes":["LJ","VW","2X"],"registrationDate":"2009-09-02 370 | 00:00:00.0","certificationsURL":{"pdfUrl":"https://www.sam.gov/SAMPortal/filedownload?reportType=2&orgId=%2FDfzk3q2kq8nQD7%2FQCckufEV2ctjlobGnFLlScNUfeAMxFIigNs3RzZiFhoSSNz9&pitId=RhC3Ct07GBf9xGMnl%2BNYowZp2VuWD2uHjQcJ9AlrH%2FPUm%2FnWpn%2FXxjAT474FwNS9&requestId=4S2U5F3cWeiEgCR"},"pscCodes":[{"pscName":"SUPPORT- 371 | PROFESSIONAL: PROGRAM MANAGEMENT/SUPPORT","pscCode":"R408"},{"pscName":"SUPPORT- 372 | PROFESSIONAL: PERSONAL SERVICES CONTRACTS","pscCode":"R497"},{"pscName":"SUPPORT- 373 | PROFESSIONAL: TECHNOLOGY SHARING/UTILIZATION","pscCode":"R415"},{"pscName":"SUPPORT- 374 | PROFESSIONAL: ENGINEERING/TECHNICAL","pscCode":"R425"},{"pscName":"SUPPORT- 375 | PROFESSIONAL: OTHER","pscCode":"R499"}],"hasDelinquentFederalDebt":false,"duns":"022384115","altElectronicBusinessPoc":{"lastName":"TOMENY","usPhoneExt":"1150","fax":"5048311901","address":{"zipPlus4":"3044","zip":"70005","countryCode":"USA","line1":"111 376 | VETERANS BLVD.","stateorProvince":"LA","line2":"STE. 1600","city":"METAIRIE"},"email":"JEFF.TOMENY@GEOCENT.COM","usPhone":"5048311900","firstName":"JEFF"},"cage":"5NYU1","hasKnownExclusion":false,"publicDisplay":true,"expirationDate":"2016-08-05 377 | 09:20:57.0","status":"ACTIVE","corporateStructureCode":"2K","stateOfIncorporation":"LA","corporateStructureName":"Partnership 378 | or Limited Liability Partnership","legalBusinessName":"Geocent, L.L.C. ","congressionalDistrict":"LA 379 | 01","bondingInformation":{},"businessStartDate":"2008-03-31","lastUpdateDate":"2015-08-06 380 | 09:31:21.0","statusMessage":"Active","samAddress":{"zipPlus4":"3044","zip":"70005","countryCode":"USA","line1":"111 381 | Veterans Memorial Blvd Ste 1600 ","stateorProvince":"LA","city":"Metairie"},"submissionDate":"2015-08-06 382 | 09:20:57.0","naics":[{"isPrimary":false,"naicsCode":"811212","naicsName":"COMPUTER 383 | AND OFFICE MACHINE REPAIR AND MAINTENANCE"},{"isPrimary":false,"naicsCode":"541614","naicsName":"PROCESS, 384 | PHYSICAL DISTRIBUTION, AND LOGISTICS CONSULTING SERVICES"},{"isPrimary":false,"naicsCode":"541511","naicsName":"CUSTOM 385 | COMPUTER PROGRAMMING SERVICES"},{"isPrimary":false,"naicsCode":"541519","naicsName":"OTHER 386 | COMPUTER RELATED SERVICES"},{"isPrimary":false,"naicsCode":"927110","naicsName":"SPACE 387 | RESEARCH AND TECHNOLOGY"},{"isPrimary":false,"naicsCode":"336415","naicsName":"GUIDED 388 | MISSILE AND SPACE VEHICLE PROPULSION UNIT AND PROPULSION UNIT PARTS MANUFACTURING"},{"isPrimary":false,"naicsCode":"611420","naicsName":"COMPUTER 389 | TRAINING"},{"isPrimary":false,"naicsCode":"517110","naicsName":"WIRED TELECOMMUNICATIONS 390 | CARRIERS"},{"isPrimary":false,"naicsCode":"541612","naicsName":"HUMAN RESOURCES 391 | CONSULTING SERVICES"},{"isPrimary":false,"naicsCode":"511210","naicsName":"SOFTWARE 392 | PUBLISHERS"},{"isPrimary":false,"naicsCode":"541611","naicsName":"ADMINISTRATIVE 393 | MANAGEMENT AND GENERAL MANAGEMENT CONSULTING SERVICES"},{"isPrimary":false,"naicsCode":"541513","naicsName":"COMPUTER 394 | FACILITIES MANAGEMENT SERVICES"},{"isPrimary":false,"naicsCode":"541720","naicsName":"RESEARCH 395 | AND DEVELOPMENT IN THE SOCIAL SCIENCES AND HUMANITIES"},{"isPrimary":false,"naicsCode":"561110","naicsName":"OFFICE 396 | ADMINISTRATIVE SERVICES"},{"isPrimary":false,"naicsCode":"561621","naicsName":"SECURITY 397 | SYSTEMS SERVICES (EXCEPT LOCKSMITHS)"},{"isPrimary":false,"naicsCode":"541712","naicsName":"RESEARCH 398 | AND DEVELOPMENT IN THE PHYSICAL, ENGINEERING, AND LIFE SCIENCES (EXCEPT BIOTECHNOLOGY)"},{"isPrimary":false,"naicsCode":"561330","naicsName":"PROFESSIONAL 399 | EMPLOYER ORGANIZATIONS"},{"isPrimary":false,"naicsCode":"611430","naicsName":"PROFESSIONAL 400 | AND MANAGEMENT DEVELOPMENT TRAINING"},{"isPrimary":false,"naicsCode":"561210","naicsName":"FACILITIES 401 | SUPPORT SERVICES"},{"isPrimary":false,"naicsCode":"561311","naicsName":"EMPLOYMENT 402 | PLACEMENT AGENCIES"},{"isPrimary":false,"naicsCode":"541430","naicsName":"GRAPHIC 403 | DESIGN SERVICES"},{"isPrimary":false,"naicsCode":"519130","naicsName":"INTERNET 404 | PUBLISHING AND BROADCASTING AND WEB SEARCH PORTALS"},{"isPrimary":true,"naicsCode":"541330","naicsName":"ENGINEERING 405 | SERVICES"},{"isPrimary":false,"naicsCode":"332312","naicsName":"FABRICATED 406 | STRUCTURAL METAL MANUFACTURING"},{"isPrimary":false,"naicsCode":"541512","naicsName":"COMPUTER 407 | SYSTEMS DESIGN SERVICES"},{"isPrimary":false,"naicsCode":"561320","naicsName":"TEMPORARY 408 | HELP SERVICES"}],"certifications":{"farResponses":[{"id":"FAR 52.209-2"},{"id":"FAR 409 | 52.209-5","answers":[{"answerText":"No","section":"52.209-5.a.1.i.A"},{"answerText":"No","section":"52.209-5.a.1.i.B"},{"answerText":"No","section":"52.209-5.a.1.i.D"},{"answerText":"No","section":"52.209-5.a.1.i.C"},{"answerText":"No","section":"52.209-5.a.1.ii"}]},{"id":"FAR 410 | 52.203-2","answers":{"section":"52.203-2.b.2.i","SamPointOfContact":[{"lastName":"Tomeny","title":"CFO","firstName":"Jeff"},{"lastName":"Alsphonso","title":"Director","firstName":"Keith"},{"lastName":"Camet","title":"Director","firstName":"Brett"}]}},{"id":"FAR 411 | 52.215-6","answers":[{"answerText":"Yes","section":"52.215-6.a"},{"samFacility":[{"ownerName":"Robert 412 | Savoie","plantAddress":{"zip":39529,"countryCode":"USA","stateOrProvince":"MS","line1":"Stennis 413 | Space Center","line2":"Bldg. 1103","city":"Bay St. Louis"},"ownerAddress":{"zip":70005,"countryCode":"USA","stateOrProvince":"LA","line1":"111 414 | Veterans Memorial Blvd.","line2":"Suite 1600","city":"Metairie"}},{"ownerName":"Robert 415 | Savoie","plantAddress":{"zip":29405,"countryCode":"USA","stateOrProvince":"SC","line1":"1535 416 | Hobby St.","line2":"Suite 103","city":"North Charleston"},"ownerAddress":{"zip":70005,"countryCode":"USA","stateOrProvince":"LA","line1":"111 417 | Veterans Memorial Blvd.","line2":"Suite 1600","city":"Metairie"}},{"ownerName":"Robert 418 | Savoie","plantAddress":{"zip":35816,"countryCode":"USA","stateOrProvince":"AL","line1":"4717 419 | University Blvd.","line2":"Suite 96","city":"Huntsville"},"ownerAddress":{"zip":70005,"countryCode":"USA","stateOrProvince":"LA","line1":"111 420 | Veterans Memorial Blvd.","line2":"Suite 1600","city":"Metairie"}},{"ownerName":"Robert 421 | Savoie","plantAddress":{"zip":70808,"countryCode":"USA","stateOrProvince":"LA","line1":"5615 422 | Corporate Blvd.","line2":"Suite 500B","city":"Baton Rouge"},"ownerAddress":{"zip":70005,"countryCode":"USA","stateOrProvince":"LA","line1":"111 423 | Veterans Memorial Blvd.","line2":"Suite 1600","city":"Metairie"}}],"section":"52.215-6.b"}]},{"id":"FAR 424 | 52.214-14","answers":[{"answerText":"Yes","section":"52.214-14.a"},{"samFacility":[{"ownerName":"Robert 425 | Savoie","plantAddress":{"zip":39529,"countryCode":"USA","stateOrProvince":"MS","line1":"Stennis 426 | Space Center","line2":"Bldg. 1103","city":"Bay St. Louis"},"ownerAddress":{"zip":70005,"countryCode":"USA","stateOrProvince":"LA","line1":"111 427 | Veterans Memorial Blvd.","line2":"Suite 1600","city":"Metairie"}},{"ownerName":"Robert 428 | Savoie","plantAddress":{"zip":29405,"countryCode":"USA","stateOrProvince":"SC","line1":"1535 429 | Hobby St.","line2":"Suite 103","city":"North Charleston"},"ownerAddress":{"zip":70005,"countryCode":"USA","stateOrProvince":"LA","line1":"111 430 | Veterans Memorial Blvd.","line2":"Suite 1600","city":"Metairie"}},{"ownerName":"Robert 431 | Savoie","plantAddress":{"zip":35816,"countryCode":"USA","stateOrProvince":"AL","line1":"4717 432 | University Blvd.","line2":"Suite 96","city":"Huntsville"},"ownerAddress":{"zip":70005,"countryCode":"USA","stateOrProvince":"LA","line1":"111 433 | Veterans Memorial Blvd.","line2":"Suite 1600","city":"Metairie"}},{"ownerName":"Robert 434 | Savoie","plantAddress":{"zip":70808,"countryCode":"USA","stateOrProvince":"LA","line1":"5615 435 | Corporate Blvd.","line2":"Suite 500B","city":"Baton Rouge"},"ownerAddress":{"zip":70005,"countryCode":"USA","stateOrProvince":"LA","line1":"111 436 | Veterans Memorial Blvd.","line2":"Suite 1600","city":"Metairie"}}],"section":"52.214-14.b"}]},{"id":"FAR 437 | 52.223-4","answers":{"answerText":"Vendor will provide information with specific 438 | offers to the Government","section":"52.223-4"}},{"id":"FAR 52.223-9","answers":{"answerText":"Vendor 439 | will provide information with specific offers to the Government","section":"52.223-9"}},{"id":"FAR 440 | 52.219-2","answers":{"answerText":"No","section":"52.219-2.a"}},{"id":"FAR 441 | 52.204-3","answers":[{"answerText":"TIN ON FILE","section":"52.204-3.d"},{"answerText":"No","section":"52.204-3.f"},{"answerText":"CORPORATION","section":"52.204-3.e"}]},{"id":"FAR 442 | 52.212-3","answers":[{"naics":[{"isSmallBusiness":"Y","isPrimary":false,"naicsCode":541712,"ExcpCounter":1,"naicsName":"Research 443 | and Development in the Physical, Engineering, and Life Sciences (except Biotechnology) 444 | 11"},{"isSmallBusiness":"Y","isPrimary":true,"naicsCode":541712,"ExcpCounter":1,"naicsName":"Research 445 | and Development in the Physical, Engineering, and Life Sciences (except Biotechnology) 446 | 11"},{"isSmallBusiness":"Y","isPrimary":false,"naicsCode":541712,"ExcpCounter":2,"naicsName":"Aircraft"},{"isSmallBusiness":"Y","isPrimary":true,"naicsCode":541712,"ExcpCounter":2,"naicsName":"Aircraft"},{"isSmallBusiness":"Y","isPrimary":false,"naicsCode":541712,"ExcpCounter":3,"naicsName":"Aircraft 447 | Parts, and Auxiliary Equipment, and Aircraft Engine Parts"},{"isSmallBusiness":"Y","isPrimary":true,"naicsCode":541712,"ExcpCounter":3,"naicsName":"Aircraft 448 | Parts, and Auxiliary Equipment, and Aircraft Engine Parts"},{"isSmallBusiness":"Y","isPrimary":false,"naicsCode":541712,"ExcpCounter":4,"naicsName":"Space 449 | Vehicles and Guided Missiles, their Propulsion Units, their Propulsion Units 450 | Parts, and their Auxiliary Equipment and Parts"},{"isSmallBusiness":"Y","isPrimary":true,"naicsCode":541712,"ExcpCounter":4,"naicsName":"Space 451 | Vehicles and Guided Missiles, their Propulsion Units, their Propulsion Units 452 | Parts, and their Auxiliary Equipment and Parts"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541519,"ExcpCounter":1,"naicsName":"Other 453 | Computer Related Services"},{"isSmallBusiness":"N","isPrimary":true,"naicsCode":541519,"ExcpCounter":1,"naicsName":"Other 454 | Computer Related Services"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541519,"ExcpCounter":2,"naicsName":"Information 455 | Technology Value Added Resellers18"},{"isSmallBusiness":"N","isPrimary":true,"naicsCode":541519,"ExcpCounter":2,"naicsName":"Information 456 | Technology Value Added Resellers18"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541330,"ExcpCounter":1,"naicsName":"Engineering 457 | Services"},{"isSmallBusiness":"N","isPrimary":true,"naicsCode":541330,"ExcpCounter":1,"naicsName":"Engineering 458 | Services"},{"isSmallBusiness":"Y","isPrimary":false,"naicsCode":541330,"ExcpCounter":2,"naicsName":"Military 459 | and Aerospace Equipment and Military Weapons"},{"isSmallBusiness":"Y","isPrimary":true,"naicsCode":541330,"ExcpCounter":2,"naicsName":"Military 460 | and Aerospace Equipment and Military Weapons"},{"isSmallBusiness":"Y","isPrimary":false,"naicsCode":541330,"ExcpCounter":3,"naicsName":"Contracts 461 | and Subcontracts for Engineering Services Awarded Under the National Energy 462 | Policy Act of 1992"},{"isSmallBusiness":"Y","isPrimary":true,"naicsCode":541330,"ExcpCounter":3,"naicsName":"Contracts 463 | and Subcontracts for Engineering Services Awarded Under the National Energy 464 | Policy Act of 1992"},{"isSmallBusiness":"Y","isPrimary":false,"naicsCode":541330,"ExcpCounter":4,"naicsName":"Marine 465 | Engineering and Naval Architecture"},{"isSmallBusiness":"Y","isPrimary":true,"naicsCode":541330,"ExcpCounter":4,"naicsName":"Marine 466 | Engineering and Naval Architecture"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541430,"naicsName":"GRAPHIC 467 | DESIGN SERVICES"},{"isSmallBusiness":"Y","isPrimary":false,"naicsCode":332312,"naicsName":"FABRICATED 468 | STRUCTURAL METAL MANUFACTURING"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":811212,"naicsName":"COMPUTER 469 | AND OFFICE MACHINE REPAIR AND MAINTENANCE"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541511,"naicsName":"CUSTOM 470 | COMPUTER PROGRAMMING SERVICES"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541611,"naicsName":"ADMINISTRATIVE 471 | MANAGEMENT AND GENERAL MANAGEMENT CONSULTING SERVICES"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541513,"naicsName":"COMPUTER 472 | FACILITIES MANAGEMENT SERVICES"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":611430,"naicsName":"PROFESSIONAL 473 | AND MANAGEMENT DEVELOPMENT TRAINING"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":611420,"naicsName":"COMPUTER 474 | TRAINING"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541720,"naicsName":"RESEARCH 475 | AND DEVELOPMENT IN THE SOCIAL SCIENCES AND HUMANITIES"},{"isPrimary":false,"naicsCode":927110,"naicsName":"SPACE 476 | RESEARCH AND TECHNOLOGY"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":561110,"naicsName":"OFFICE 477 | ADMINISTRATIVE SERVICES"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":561621,"naicsName":"SECURITY 478 | SYSTEMS SERVICES (EXCEPT LOCKSMITHS)"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":561311,"naicsName":"EMPLOYMENT 479 | PLACEMENT AGENCIES"},{"isSmallBusiness":"Y","isPrimary":false,"naicsCode":336415,"naicsName":"GUIDED 480 | MISSILE AND SPACE VEHICLE PROPULSION UNIT AND PROPULSION UNIT PARTS MANUFACTURING"},{"isSmallBusiness":"Y","isPrimary":false,"naicsCode":519130,"naicsName":"INTERNET 481 | PUBLISHING AND BROADCASTING AND WEB SEARCH PORTALS"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541512,"naicsName":"COMPUTER 482 | SYSTEMS DESIGN SERVICES"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541612,"naicsName":"HUMAN 483 | RESOURCES CONSULTING SERVICES"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":561330,"naicsName":"PROFESSIONAL 484 | EMPLOYER ORGANIZATIONS"},{"isSmallBusiness":"Y","isPrimary":false,"naicsCode":517110,"naicsName":"WIRED 485 | TELECOMMUNICATIONS CARRIERS"},{"isSmallBusiness":"Y","isPrimary":false,"naicsCode":561210,"naicsName":"FACILITIES 486 | SUPPORT SERVICES"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":561320,"naicsName":"TEMPORARY 487 | HELP SERVICES"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541614,"naicsName":"PROCESS, 488 | PHYSICAL DISTRIBUTION, AND LOGISTICS CONSULTING SERVICES"},{"isSmallBusiness":"Y","isPrimary":false,"naicsCode":511210,"naicsName":"SOFTWARE 489 | PUBLISHERS"}],"section":"52.212-3.c"},{"answerText":"Yes","section":"52.212-3.c.1"},{"answerText":"No","section":"52.212-3.c.4"},{"answerText":"No","section":"52.212-3.c.5"},{"answerText":"No","section":"52.212-3.c.6.i"},{"answerText":"No","section":"52.212-3.c.6.ii"},{"answerText":"No","section":"52.212-3.c.7.i"},{"answerText":"No","section":"52.212-3.c.7.ii"},{"answerText":"No","section":"52.212-3.c.10.i.A"},{"answerText":"No","section":"52.212-3.c.10.i.B"},{"answerText":"No","section":"52.212-3.c.10.ii"},{"answerText":"No","section":"52.212-3.c.11.ii"},{"answerText":"Yes","section":"52.212-3.d.1.i"},{"answerText":"Yes","section":"52.212-3.d.1.ii"},{"answerText":"Geocent, 490 | L.L.C. has developed and has on file affirmative action programs required 491 | by Secretary of Labor regulations.","section":"52.212-3.d.2.i"},{"answerText":"No","section":"52.212-3.f"},{"answerText":"No","section":"52.212-3.h.1"},{"answerText":"No","section":"52.212-3.h.2"},{"answerText":"No","section":"52.212-3.h.4"},{"answerText":"No","section":"52.212-3.h.3"},{"answerText":"No","section":"52.212-3.h.5"},{"answerText":"No","section":"52.212-3.i.2.i"},{"section":"52.212-3.j"},{"answerText":"No","section":"52.212-3.k.1.2.i"},{"answerText":"No","section":"52.212-3.k.2.2"},{"answerText":"No","section":"52.212-3.l.5"},{"answerText":"No","section":"52.212-3-AltII.iii"},{"answerText":"No","section":"52.226-2.b.1"},{"answerText":"No","section":"52.226-2.b.2"}]},{"id":"FAR 492 | 52.219-1","answers":[{"naics":[{"isSmallBusiness":"Y","isPrimary":false,"naicsCode":541712,"ExcpCounter":1,"naicsName":"Research 493 | and Development in the Physical, Engineering, and Life Sciences (except Biotechnology) 494 | 11"},{"isSmallBusiness":"Y","isPrimary":true,"naicsCode":541712,"ExcpCounter":1,"naicsName":"Research 495 | and Development in the Physical, Engineering, and Life Sciences (except Biotechnology) 496 | 11"},{"isSmallBusiness":"Y","isPrimary":false,"naicsCode":541712,"ExcpCounter":2,"naicsName":"Aircraft"},{"isSmallBusiness":"Y","isPrimary":true,"naicsCode":541712,"ExcpCounter":2,"naicsName":"Aircraft"},{"isSmallBusiness":"Y","isPrimary":false,"naicsCode":541712,"ExcpCounter":3,"naicsName":"Aircraft 497 | Parts, and Auxiliary Equipment, and Aircraft Engine Parts"},{"isSmallBusiness":"Y","isPrimary":true,"naicsCode":541712,"ExcpCounter":3,"naicsName":"Aircraft 498 | Parts, and Auxiliary Equipment, and Aircraft Engine Parts"},{"isSmallBusiness":"Y","isPrimary":false,"naicsCode":541712,"ExcpCounter":4,"naicsName":"Space 499 | Vehicles and Guided Missiles, their Propulsion Units, their Propulsion Units 500 | Parts, and their Auxiliary Equipment and Parts"},{"isSmallBusiness":"Y","isPrimary":true,"naicsCode":541712,"ExcpCounter":4,"naicsName":"Space 501 | Vehicles and Guided Missiles, their Propulsion Units, their Propulsion Units 502 | Parts, and their Auxiliary Equipment and Parts"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541519,"ExcpCounter":1,"naicsName":"Other 503 | Computer Related Services"},{"isSmallBusiness":"N","isPrimary":true,"naicsCode":541519,"ExcpCounter":1,"naicsName":"Other 504 | Computer Related Services"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541519,"ExcpCounter":2,"naicsName":"Information 505 | Technology Value Added Resellers18"},{"isSmallBusiness":"N","isPrimary":true,"naicsCode":541519,"ExcpCounter":2,"naicsName":"Information 506 | Technology Value Added Resellers18"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541330,"ExcpCounter":1,"naicsName":"Engineering 507 | Services"},{"isSmallBusiness":"N","isPrimary":true,"naicsCode":541330,"ExcpCounter":1,"naicsName":"Engineering 508 | Services"},{"isSmallBusiness":"Y","isPrimary":false,"naicsCode":541330,"ExcpCounter":2,"naicsName":"Military 509 | and Aerospace Equipment and Military Weapons"},{"isSmallBusiness":"Y","isPrimary":true,"naicsCode":541330,"ExcpCounter":2,"naicsName":"Military 510 | and Aerospace Equipment and Military Weapons"},{"isSmallBusiness":"Y","isPrimary":false,"naicsCode":541330,"ExcpCounter":3,"naicsName":"Contracts 511 | and Subcontracts for Engineering Services Awarded Under the National Energy 512 | Policy Act of 1992"},{"isSmallBusiness":"Y","isPrimary":true,"naicsCode":541330,"ExcpCounter":3,"naicsName":"Contracts 513 | and Subcontracts for Engineering Services Awarded Under the National Energy 514 | Policy Act of 1992"},{"isSmallBusiness":"Y","isPrimary":false,"naicsCode":541330,"ExcpCounter":4,"naicsName":"Marine 515 | Engineering and Naval Architecture"},{"isSmallBusiness":"Y","isPrimary":true,"naicsCode":541330,"ExcpCounter":4,"naicsName":"Marine 516 | Engineering and Naval Architecture"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541430,"naicsName":"GRAPHIC 517 | DESIGN SERVICES"},{"isSmallBusiness":"Y","isPrimary":false,"naicsCode":332312,"naicsName":"FABRICATED 518 | STRUCTURAL METAL MANUFACTURING"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":811212,"naicsName":"COMPUTER 519 | AND OFFICE MACHINE REPAIR AND MAINTENANCE"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541511,"naicsName":"CUSTOM 520 | COMPUTER PROGRAMMING SERVICES"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541611,"naicsName":"ADMINISTRATIVE 521 | MANAGEMENT AND GENERAL MANAGEMENT CONSULTING SERVICES"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541513,"naicsName":"COMPUTER 522 | FACILITIES MANAGEMENT SERVICES"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":611430,"naicsName":"PROFESSIONAL 523 | AND MANAGEMENT DEVELOPMENT TRAINING"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":611420,"naicsName":"COMPUTER 524 | TRAINING"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541720,"naicsName":"RESEARCH 525 | AND DEVELOPMENT IN THE SOCIAL SCIENCES AND HUMANITIES"},{"isPrimary":false,"naicsCode":927110,"naicsName":"SPACE 526 | RESEARCH AND TECHNOLOGY"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":561110,"naicsName":"OFFICE 527 | ADMINISTRATIVE SERVICES"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":561621,"naicsName":"SECURITY 528 | SYSTEMS SERVICES (EXCEPT LOCKSMITHS)"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":561311,"naicsName":"EMPLOYMENT 529 | PLACEMENT AGENCIES"},{"isSmallBusiness":"Y","isPrimary":false,"naicsCode":336415,"naicsName":"GUIDED 530 | MISSILE AND SPACE VEHICLE PROPULSION UNIT AND PROPULSION UNIT PARTS MANUFACTURING"},{"isSmallBusiness":"Y","isPrimary":false,"naicsCode":519130,"naicsName":"INTERNET 531 | PUBLISHING AND BROADCASTING AND WEB SEARCH PORTALS"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541512,"naicsName":"COMPUTER 532 | SYSTEMS DESIGN SERVICES"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541612,"naicsName":"HUMAN 533 | RESOURCES CONSULTING SERVICES"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":561330,"naicsName":"PROFESSIONAL 534 | EMPLOYER ORGANIZATIONS"},{"isSmallBusiness":"Y","isPrimary":false,"naicsCode":517110,"naicsName":"WIRED 535 | TELECOMMUNICATIONS CARRIERS"},{"isSmallBusiness":"Y","isPrimary":false,"naicsCode":561210,"naicsName":"FACILITIES 536 | SUPPORT SERVICES"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":561320,"naicsName":"TEMPORARY 537 | HELP SERVICES"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541614,"naicsName":"PROCESS, 538 | PHYSICAL DISTRIBUTION, AND LOGISTICS CONSULTING SERVICES"},{"isSmallBusiness":"Y","isPrimary":false,"naicsCode":511210,"naicsName":"SOFTWARE 539 | PUBLISHERS"}],"section":"52.219-1.b"},{"answerText":"Yes","section":"52.219-1.b.1"},{"answerText":"No","section":"52.219-1.b.3.1"},{"answerText":"No","section":"52.219-1.b.4.i"},{"answerText":"No","section":"52.219-1.b.4.ii"},{"answerText":"No","section":"52.219-1.b.5.i"},{"answerText":"No","section":"52.219-1.b.5.ii"},{"answerText":"No","section":"52.219-1.b.6"},{"answerText":"No","section":"52.219-1.b.7"},{"answerText":"No","section":"52.219-1.b.8.i"},{"answerText":"No","section":"52.219-1.b.8.ii"}]},{"id":"FAR 540 | 52.219-22","answers":[{"naics":[{"isSmallBusiness":"Y","isPrimary":false,"naicsCode":541712,"ExcpCounter":1,"naicsName":"Research 541 | and Development in the Physical, Engineering, and Life Sciences (except Biotechnology) 542 | 11"},{"isSmallBusiness":"Y","isPrimary":true,"naicsCode":541712,"ExcpCounter":1,"naicsName":"Research 543 | and Development in the Physical, Engineering, and Life Sciences (except Biotechnology) 544 | 11"},{"isSmallBusiness":"Y","isPrimary":false,"naicsCode":541712,"ExcpCounter":2,"naicsName":"Aircraft"},{"isSmallBusiness":"Y","isPrimary":true,"naicsCode":541712,"ExcpCounter":2,"naicsName":"Aircraft"},{"isSmallBusiness":"Y","isPrimary":false,"naicsCode":541712,"ExcpCounter":3,"naicsName":"Aircraft 545 | Parts, and Auxiliary Equipment, and Aircraft Engine Parts"},{"isSmallBusiness":"Y","isPrimary":true,"naicsCode":541712,"ExcpCounter":3,"naicsName":"Aircraft 546 | Parts, and Auxiliary Equipment, and Aircraft Engine Parts"},{"isSmallBusiness":"Y","isPrimary":false,"naicsCode":541712,"ExcpCounter":4,"naicsName":"Space 547 | Vehicles and Guided Missiles, their Propulsion Units, their Propulsion Units 548 | Parts, and their Auxiliary Equipment and Parts"},{"isSmallBusiness":"Y","isPrimary":true,"naicsCode":541712,"ExcpCounter":4,"naicsName":"Space 549 | Vehicles and Guided Missiles, their Propulsion Units, their Propulsion Units 550 | Parts, and their Auxiliary Equipment and Parts"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541519,"ExcpCounter":1,"naicsName":"Other 551 | Computer Related Services"},{"isSmallBusiness":"N","isPrimary":true,"naicsCode":541519,"ExcpCounter":1,"naicsName":"Other 552 | Computer Related Services"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541519,"ExcpCounter":2,"naicsName":"Information 553 | Technology Value Added Resellers18"},{"isSmallBusiness":"N","isPrimary":true,"naicsCode":541519,"ExcpCounter":2,"naicsName":"Information 554 | Technology Value Added Resellers18"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541330,"ExcpCounter":1,"naicsName":"Engineering 555 | Services"},{"isSmallBusiness":"N","isPrimary":true,"naicsCode":541330,"ExcpCounter":1,"naicsName":"Engineering 556 | Services"},{"isSmallBusiness":"Y","isPrimary":false,"naicsCode":541330,"ExcpCounter":2,"naicsName":"Military 557 | and Aerospace Equipment and Military Weapons"},{"isSmallBusiness":"Y","isPrimary":true,"naicsCode":541330,"ExcpCounter":2,"naicsName":"Military 558 | and Aerospace Equipment and Military Weapons"},{"isSmallBusiness":"Y","isPrimary":false,"naicsCode":541330,"ExcpCounter":3,"naicsName":"Contracts 559 | and Subcontracts for Engineering Services Awarded Under the National Energy 560 | Policy Act of 1992"},{"isSmallBusiness":"Y","isPrimary":true,"naicsCode":541330,"ExcpCounter":3,"naicsName":"Contracts 561 | and Subcontracts for Engineering Services Awarded Under the National Energy 562 | Policy Act of 1992"},{"isSmallBusiness":"Y","isPrimary":false,"naicsCode":541330,"ExcpCounter":4,"naicsName":"Marine 563 | Engineering and Naval Architecture"},{"isSmallBusiness":"Y","isPrimary":true,"naicsCode":541330,"ExcpCounter":4,"naicsName":"Marine 564 | Engineering and Naval Architecture"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541430,"naicsName":"GRAPHIC 565 | DESIGN SERVICES"},{"isSmallBusiness":"Y","isPrimary":false,"naicsCode":332312,"naicsName":"FABRICATED 566 | STRUCTURAL METAL MANUFACTURING"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":811212,"naicsName":"COMPUTER 567 | AND OFFICE MACHINE REPAIR AND MAINTENANCE"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541511,"naicsName":"CUSTOM 568 | COMPUTER PROGRAMMING SERVICES"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541611,"naicsName":"ADMINISTRATIVE 569 | MANAGEMENT AND GENERAL MANAGEMENT CONSULTING SERVICES"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541513,"naicsName":"COMPUTER 570 | FACILITIES MANAGEMENT SERVICES"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":611430,"naicsName":"PROFESSIONAL 571 | AND MANAGEMENT DEVELOPMENT TRAINING"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":611420,"naicsName":"COMPUTER 572 | TRAINING"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541720,"naicsName":"RESEARCH 573 | AND DEVELOPMENT IN THE SOCIAL SCIENCES AND HUMANITIES"},{"isPrimary":false,"naicsCode":927110,"naicsName":"SPACE 574 | RESEARCH AND TECHNOLOGY"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":561110,"naicsName":"OFFICE 575 | ADMINISTRATIVE SERVICES"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":561621,"naicsName":"SECURITY 576 | SYSTEMS SERVICES (EXCEPT LOCKSMITHS)"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":561311,"naicsName":"EMPLOYMENT 577 | PLACEMENT AGENCIES"},{"isSmallBusiness":"Y","isPrimary":false,"naicsCode":336415,"naicsName":"GUIDED 578 | MISSILE AND SPACE VEHICLE PROPULSION UNIT AND PROPULSION UNIT PARTS MANUFACTURING"},{"isSmallBusiness":"Y","isPrimary":false,"naicsCode":519130,"naicsName":"INTERNET 579 | PUBLISHING AND BROADCASTING AND WEB SEARCH PORTALS"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541512,"naicsName":"COMPUTER 580 | SYSTEMS DESIGN SERVICES"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541612,"naicsName":"HUMAN 581 | RESOURCES CONSULTING SERVICES"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":561330,"naicsName":"PROFESSIONAL 582 | EMPLOYER ORGANIZATIONS"},{"isSmallBusiness":"Y","isPrimary":false,"naicsCode":517110,"naicsName":"WIRED 583 | TELECOMMUNICATIONS CARRIERS"},{"isSmallBusiness":"Y","isPrimary":false,"naicsCode":561210,"naicsName":"FACILITIES 584 | SUPPORT SERVICES"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":561320,"naicsName":"TEMPORARY 585 | HELP SERVICES"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541614,"naicsName":"PROCESS, 586 | PHYSICAL DISTRIBUTION, AND LOGISTICS CONSULTING SERVICES"},{"isSmallBusiness":"Y","isPrimary":false,"naicsCode":511210,"naicsName":"SOFTWARE 587 | PUBLISHERS"}],"section":"52.219-22.b"},{"answerText":"No","section":"52.219-22.b.2.1"},{"answerText":"No","section":"52.219-22.b.1.ii"},{"answerText":"No","section":"52.219-22.AltI.3"}]},{"id":"FAR 588 | 52.227-15","answers":{"answerText":"No","section":"52.227-15.b.2"}},{"id":"FAR 589 | 52.204-17","answers":{"answerText":"No","section":"52.204-17.b"}},{"id":"FAR 590 | 52.222-18","answers":{"answerText":"No","section":"52.222-18.c.1"}},{"id":"FAR 591 | 52.222-22","answers":[{"answerText":"Yes","section":"52.222-22.a"},{"answerText":"Yes","section":"52.222-22.b"}]},{"id":"FAR 592 | 52.222-25","answers":{"answerText":"Geocent, L.L.C. has developed and has 593 | on file affirmative action programs required by Secretary of Labor regulations.","section":"52.222-25"}},{"id":"FAR 594 | 52.225-2","answers":{"answerText":"No","section":"52.225-2.a"}},{"id":"FAR 595 | 52.225-4","answers":{"answerText":"No","section":"52.225-4.a"}},{"id":"FAR 596 | 52.225-6","answers":{"answerText":"No","section":"52.225-6.a"}},{"id":"FAR 597 | 52.222-48","answers":{"answerText":"No","section":"52.222-48.a.1"}},{"id":"FAR 598 | 52.222-52","answers":{"answerText":"No","section":"52.222-52.a.1.1"}},{"id":"SF330","answers":{"answerText":"No","section":"SF330.1"}}],"pdfUrl":"https://www.sam.gov/SAMPortal/filedownload?reportType=2&orgId=grrSwpW57oGl9qSZSRrN9LWVukkPG%2Bb%2BYZWGO1tbgsLWPZpJF1pOFHhn6G1clOhq&pitId=rRIVdpjcFoUNU%2F87sKTDkzhHFck9zdtLq6pJGYmBgmlYgm6mU1o7FZQqaJ1UbGp1EzO535Vdgm%2B%2F%0ADQI27lH8DA%3D%3D&requestId=QlMgtcPOEJAvu5z","dfarResponses":[{"id":"DFAR252.247-7022","answers":{"answerText":"No","section":"252.247-7022.b"}},{"id":"DFAR252.216-7008","answers":{"answerText":"No","section":"DFAR252.216-7008.a"}},{"id":"DFAR252.209-7002","answers":{"answerText":"No","section":"DFAR252.209-7002.1"}},{"id":"DFAR 599 | 252.225-7000","answers":{"answerText":"No","section":"252.225-7000.c.1"}},{"id":"DFAR 600 | 252.225-7020","answers":{"answerText":"No","section":"252.225-7020.c.1"}},{"id":"DFAR 601 | 252.225-7022","answers":{"answerText":"No","section":"252.225-7022.c.1"}},{"id":"DFAR 602 | 252.225-7035","answers":{"answerText":"No","section":"252.225-7035.c.1"}},{"id":"DFAR252.247-7049","answers":[{"answerText":"No","section":"252.247-7049.1"},{"answerText":"No","section":"252.247-7049.2"},{"answerText":"No","section":"252.247-7049.3"},{"answerText":"No","section":"252.247-7049.4"}]}]},"corporateUrl":"www.geocent.com","altGovtBusinessPoc":{"lastName":"LAMOTTA","usPhoneExt":"1179","fax":"5048311901","address":{"zipPlus4":"3044","zip":"70005","countryCode":"USA","line1":"111 603 | VETERANS BLVD.","stateorProvince":"LA","line2":"STE. 1600","city":"METAIRIE"},"email":"LORENA.LAMOTTA@GEOCENT.COM","usPhone":"5048311900","firstName":"LORENA"},"creditCardUsage":false,"countryOfIncorporation":"USA","electronicBusinessPoc":{"lastName":"MURRAY","usPhoneExt":"1142","fax":"5048311901","address":{"zipPlus4":"3044","zip":"70005","countryCode":"USA","line1":"111 604 | VETERANS BLVD.","stateorProvince":"LA","line2":"STE. 1600","city":"METAIRIE"},"email":"CONTRACTS@GEOCENT.COM","middleInitial":"S.","usPhone":"5048311900","firstName":"CATHERINE","notes":"CONTRACTS@GEOCENT.COM"},"mailingAddress":{"zipPlus4":"3044","zip":"70005","countryCode":"USA","line1":"111 605 | VETERANS MEMORIAL BLVD","stateorProvince":"LA","line2":"Suite 1600","city":"METAIRIE"},"purposeOfRegistration":"ALL_AWARDS"}}}' 606 | http_version: 607 | recorded_at: Tue, 24 May 2016 20:30:29 GMT 608 | - request: 609 | method: get 610 | uri: https://api.data.gov/sam/v4/registrations/1459697830000?api_key= 611 | body: 612 | encoding: UTF-8 613 | string: '' 614 | headers: 615 | User-Agent: 616 | - HTTPClient/1.0 (2.7.1, ruby 2.1.5 (2014-11-13)) 617 | Accept: 618 | - "*/*" 619 | Date: 620 | - Tue, 24 May 2016 20:30:29 GMT 621 | response: 622 | status: 623 | code: 200 624 | message: OK 625 | headers: 626 | Server: 627 | - openresty 628 | Date: 629 | - Tue, 24 May 2016 20:30:23 GMT 630 | Content-Type: 631 | - application/json 632 | Transfer-Encoding: 633 | - chunked 634 | Connection: 635 | - keep-alive 636 | Vary: 637 | - Accept-Encoding 638 | - Accept-Encoding 639 | X-Ratelimit-Limit: 640 | - '25' 641 | X-Ratelimit-Remaining: 642 | - '24' 643 | Age: 644 | - '0' 645 | Via: 646 | - http/1.1 api-umbrella (ApacheTrafficServer [cMsSf ]) 647 | X-Cache: 648 | - MISS 649 | body: 650 | encoding: UTF-8 651 | string: '{"sam_data":{"registration":{"govtBusinessPoc":{"lastName":"YOUTZY","fax":"7032277477","address":{"zip":"22033","countryCode":"USA","line1":"12601 652 | FAIR LAKES CIRCLE","stateorProvince":"VA","city":"FAIRFAX"},"email":"SAM.CGIFEDERAL@CGIFEDERAL.COM","usPhone":"7032276000","firstName":"KIM"},"qualifications":{"acass":{"id":"SF330","answers":{"answerText":"Vendor 653 | will provide information with specific offers to the Government","section":"SF330.1"}}},"dunsPlus4":"0000","activationDate":"2016-05-12 654 | 15:45:34.0","fiscalYearEndCloseDate":"09/30","businessTypes":["VW","2X"],"pastPerformancePoc":{"lastName":"CARLSON","fax":"7032277477","address":{"zip":"22033","countryCode":"USA","line1":"12601 655 | FAIR LAKES CIRCLE","stateorProvince":"VA","city":"FAIRFAX"},"email":"SAM.CGIFEDERAL@CGIFEDERAL.COM","usPhone":"7032276000","firstName":"PEGGY"},"registrationDate":"2004-07-29 656 | 00:00:00.0","certificationsURL":{"pdfUrl":"https://www.sam.gov/SAMPortal/filedownload?reportType=2&orgId=OoFrMmaTb5%2BG0FLl8M4WdORgd1ewrbmZJceYMe6P5S9TOpHPfpxoO7NxgfpbbCQr&pitId=3HgTdOs37%2BywTU%2F%2B3Vu6CyUgnr4K%2BrxsV7oEvV338DEqmMIDsotr5WhWEVmFY%2Fk2%2BKK%2BPS3N3dgC%0AjqZPo57wzQ%3D%3D&requestId=ZE11EV397NNqXLq"},"hasDelinquentFederalDebt":false,"duns":"145969783","altElectronicBusinessPoc":{"lastName":"CARLSON","fax":"7032277477","address":{"zip":"22030","countryCode":"USA","line1":"12601 657 | FAIR LAKES CIRCLE","stateorProvince":"VA","city":"Fairfax"},"email":"SAM.CGIFEDERAL@CGIFEDERAL.COM","usPhone":"7032276000","firstName":"PEGGY"},"cage":"3YVK7","hasKnownExclusion":false,"publicDisplay":true,"expirationDate":"2017-05-12 658 | 15:34:37.0","status":"ACTIVE","corporateStructureCode":"2L","stateOfIncorporation":"DE","corporateStructureName":"Corporate 659 | Entity (Not Tax Exempt)","legalBusinessName":"CGI FEDERAL INC.","congressionalDistrict":"VA 660 | 11","companyDivision":"SUBSIDIARY OF CGI TECHNOLOGIES AND SOLUTIONS INC.","bondingInformation":{},"businessStartDate":"2004-05-01","lastUpdateDate":"2016-05-12 661 | 15:45:34.0","statusMessage":"Active","samAddress":{"zipPlus4":"4902","zip":"22033","countryCode":"USA","line1":"12601 662 | FAIR LAKES CIR","stateorProvince":"VA","city":"FAIRFAX"},"submissionDate":"2016-05-12 663 | 15:34:37.0","naics":[{"isPrimary":false,"naicsCode":"611430","naicsName":"PROFESSIONAL 664 | AND MANAGEMENT DEVELOPMENT TRAINING"},{"isPrimary":false,"naicsCode":"541611","naicsName":"ADMINISTRATIVE 665 | MANAGEMENT AND GENERAL MANAGEMENT CONSULTING SERVICES"},{"isPrimary":false,"naicsCode":"541330","naicsName":"ENGINEERING 666 | SERVICES"},{"isPrimary":false,"naicsCode":"561611","naicsName":"INVESTIGATION 667 | SERVICES"},{"isPrimary":false,"naicsCode":"611420","naicsName":"COMPUTER TRAINING"},{"isPrimary":false,"naicsCode":"541614","naicsName":"PROCESS, 668 | PHYSICAL DISTRIBUTION, AND LOGISTICS CONSULTING SERVICES"},{"isPrimary":false,"naicsCode":"541219","naicsName":"OTHER 669 | ACCOUNTING SERVICES"},{"isPrimary":false,"naicsCode":"519190","naicsName":"ALL 670 | OTHER INFORMATION SERVICES"},{"isPrimary":true,"naicsCode":"541519","naicsName":"OTHER 671 | COMPUTER RELATED SERVICES"},{"isPrimary":false,"naicsCode":"541712","naicsName":"RESEARCH 672 | AND DEVELOPMENT IN THE PHYSICAL, ENGINEERING, AND LIFE SCIENCES (EXCEPT BIOTECHNOLOGY)"},{"isPrimary":false,"naicsCode":"511210","naicsName":"SOFTWARE 673 | PUBLISHERS"},{"isPrimary":false,"naicsCode":"611699","naicsName":"ALL OTHER 674 | MISCELLANEOUS SCHOOLS AND INSTRUCTION"},{"isPrimary":false,"naicsCode":"541990","naicsName":"ALL 675 | OTHER PROFESSIONAL, SCIENTIFIC, AND TECHNICAL SERVICES"},{"isPrimary":false,"naicsCode":"541513","naicsName":"COMPUTER 676 | FACILITIES MANAGEMENT SERVICES"},{"isPrimary":false,"naicsCode":"334511","naicsName":"SEARCH, 677 | DETECTION, NAVIGATION, GUIDANCE, AERONAUTICAL, AND NAUTICAL SYSTEM AND INSTRUMENT 678 | MANUFACTURING"},{"isPrimary":false,"naicsCode":"541690","naicsName":"OTHER 679 | SCIENTIFIC AND TECHNICAL CONSULTING SERVICES"},{"isPrimary":false,"naicsCode":"541512","naicsName":"COMPUTER 680 | SYSTEMS DESIGN SERVICES"},{"isPrimary":false,"naicsCode":"561210","naicsName":"FACILITIES 681 | SUPPORT SERVICES"},{"isPrimary":false,"naicsCode":"561440","naicsName":"COLLECTION 682 | AGENCIES"},{"isPrimary":false,"naicsCode":"811111","naicsName":"GENERAL AUTOMOTIVE 683 | REPAIR"},{"isPrimary":false,"naicsCode":"518210","naicsName":"DATA PROCESSING, 684 | HOSTING, AND RELATED SERVICES"},{"isPrimary":false,"naicsCode":"624310","naicsName":"VOCATIONAL 685 | REHABILITATION SERVICES"},{"isPrimary":false,"naicsCode":"334111","naicsName":"ELECTRONIC 686 | COMPUTER MANUFACTURING"},{"isPrimary":false,"naicsCode":"925110","naicsName":"ADMINISTRATION 687 | OF HOUSING PROGRAMS"},{"isPrimary":false,"naicsCode":"561110","naicsName":"OFFICE 688 | ADMINISTRATIVE SERVICES"},{"isPrimary":false,"naicsCode":"541618","naicsName":"OTHER 689 | MANAGEMENT CONSULTING SERVICES"},{"isPrimary":false,"naicsCode":"541511","naicsName":"CUSTOM 690 | COMPUTER PROGRAMMING SERVICES"}],"certifications":{"farResponses":[{"id":"FAR 691 | 52.209-2","answers":[{"answerText":"No","section":"52.209-2.c.1"},{"answerText":"No","section":"52.209-2.c.2"}]},{"id":"FAR 692 | 52.209-5","answers":[{"answerText":"No","section":"52.209-5.a.1.i.A"},{"answerText":"No","section":"52.209-5.a.1.i.B"},{"answerText":"No","section":"52.209-5.a.1.i.D"},{"answerText":"No","section":"52.209-5.a.1.i.C"},{"answerText":"No","section":"52.209-5.a.1.ii"}]},{"id":"FAR 693 | 52.203-2","answers":{"section":"52.203-2.b.2.i","SamPointOfContact":{"lastName":"Hargis","title":"Pricing 694 | Director","firstName":"Jack"}}},{"id":"FAR 52.215-6","answers":[{"answerText":"Yes","section":"52.215-6.a"},{"samFacility":[{"ownerName":"CGI 695 | Federal","plantAddress":{"zip":43215,"countryCode":"USA","stateOrProvince":"OH","line1":"88 696 | East Broad Street","line2":"Suite 1570","city":"Columbus"},"ownerAddress":{"zip":22033,"countryCode":"USA","stateOrProvince":"VA","line1":"12601 697 | Fair Lakes Circle","city":"Fairfax"}},{"ownerName":"CGI Federal","plantAddress":{"zip":20003,"countryCode":"USA","stateOrProvince":"DC","line1":"1100 698 | New Jersey Avenue SE","line2":"Suite 800","city":"Washington"},"ownerAddress":{"zip":22033,"countryCode":"USA","stateOrProvince":"VA","line1":"12601 699 | Fair Lakes Circle","city":"Fairfax"}},{"ownerName":"CGI Federal","plantAddress":{"zip":29406,"countryCode":"USA","stateOrProvince":"SC","line1":"1101 700 | Remount Road","line2":"Suite 900","city":"North Charleston"},"ownerAddress":{"zip":22033,"countryCode":"USA","stateOrProvince":"VA","line1":"12601 701 | Fair Lakes Circle","city":"Fairfax"}},{"ownerName":"CGI Federal","plantAddress":{"zip":35806,"countryCode":"USA","stateOrProvince":"AL","line1":"7067 702 | Old Madison Pike","line2":"Suite 100","city":"Huntsville"},"ownerAddress":{"zip":22033,"countryCode":"USA","stateOrProvince":"VA","line1":"12601 703 | Fair Lakes Circle","city":"Fairfax"}},{"ownerName":"CGI Federal","plantAddress":{"zip":24266,"countryCode":"USA","stateOrProvince":"VA","line1":"295 704 | Technology Park Drive","city":"Lebanon"},"ownerAddress":{"zip":22033,"countryCode":"USA","stateOrProvince":"VA","line1":"12601 705 | Fair Lakes Circle","city":"Fairfax"}},{"ownerName":"CGI Federal","plantAddress":{"zip":44114,"countryCode":"USA","stateOrProvince":"OH","line1":"1001 706 | Lakeside Avenue","line2":"Suite 800","city":"Cleveland"},"ownerAddress":{"zip":22033,"countryCode":"USA","stateOrProvince":"VA","line1":"12601 707 | Fair Lakes Circle","city":"Fairfax"}},{"ownerName":"CGI Federal","plantAddress":{"zip":22025,"countryCode":"USA","stateOrProvince":"VA","line1":"3800 708 | Fettler Park Drive","line2":"Suite 101","city":"Dumfries"},"ownerAddress":{"zip":22033,"countryCode":"USA","stateOrProvince":"VA","line1":"12601 709 | Fair Lakes Circle","city":"Fairfax"}},{"ownerName":"CGI Federal","plantAddress":{"zip":20110,"countryCode":"USA","stateOrProvince":"VA","line1":"9700 710 | Capital Court","city":"Manassas"},"ownerAddress":{"zip":22033,"countryCode":"USA","stateOrProvince":"VA","line1":"12601 711 | Fair Lakes Circle","city":"Fairfax"}},{"ownerName":"CGI Federal","plantAddress":{"zip":73501,"countryCode":"USA","stateOrProvince":"OK","line1":"1224 712 | SW Rex Madeira Road","city":"Lawton"},"ownerAddress":{"zip":22033,"countryCode":"USA","stateOrProvince":"VA","line1":"12601 713 | Fair Lakes Circle","city":"Fairfax"}},{"ownerName":"CGI Federal","plantAddress":{"zip":92108,"countryCode":"USA","stateOrProvince":"CA","line1":"7480 714 | Mission Valley Road, Suite 100","city":"San Diego"},"ownerAddress":{"zip":22033,"countryCode":"USA","stateOrProvince":"VA","line1":"12601 715 | Fair Lakes Circle","city":"Fairfax"}}],"section":"52.215-6.b"}]},{"id":"FAR 716 | 52.214-14","answers":[{"answerText":"Yes","section":"52.214-14.a"},{"samFacility":[{"ownerName":"CGI 717 | Federal","plantAddress":{"zip":43215,"countryCode":"USA","stateOrProvince":"OH","line1":"88 718 | East Broad Street","line2":"Suite 1570","city":"Columbus"},"ownerAddress":{"zip":22033,"countryCode":"USA","stateOrProvince":"VA","line1":"12601 719 | Fair Lakes Circle","city":"Fairfax"}},{"ownerName":"CGI Federal","plantAddress":{"zip":20003,"countryCode":"USA","stateOrProvince":"DC","line1":"1100 720 | New Jersey Avenue SE","line2":"Suite 800","city":"Washington"},"ownerAddress":{"zip":22033,"countryCode":"USA","stateOrProvince":"VA","line1":"12601 721 | Fair Lakes Circle","city":"Fairfax"}},{"ownerName":"CGI Federal","plantAddress":{"zip":29406,"countryCode":"USA","stateOrProvince":"SC","line1":"1101 722 | Remount Road","line2":"Suite 900","city":"North Charleston"},"ownerAddress":{"zip":22033,"countryCode":"USA","stateOrProvince":"VA","line1":"12601 723 | Fair Lakes Circle","city":"Fairfax"}},{"ownerName":"CGI Federal","plantAddress":{"zip":35806,"countryCode":"USA","stateOrProvince":"AL","line1":"7067 724 | Old Madison Pike","line2":"Suite 100","city":"Huntsville"},"ownerAddress":{"zip":22033,"countryCode":"USA","stateOrProvince":"VA","line1":"12601 725 | Fair Lakes Circle","city":"Fairfax"}},{"ownerName":"CGI Federal","plantAddress":{"zip":24266,"countryCode":"USA","stateOrProvince":"VA","line1":"295 726 | Technology Park Drive","city":"Lebanon"},"ownerAddress":{"zip":22033,"countryCode":"USA","stateOrProvince":"VA","line1":"12601 727 | Fair Lakes Circle","city":"Fairfax"}},{"ownerName":"CGI Federal","plantAddress":{"zip":44114,"countryCode":"USA","stateOrProvince":"OH","line1":"1001 728 | Lakeside Avenue","line2":"Suite 800","city":"Cleveland"},"ownerAddress":{"zip":22033,"countryCode":"USA","stateOrProvince":"VA","line1":"12601 729 | Fair Lakes Circle","city":"Fairfax"}},{"ownerName":"CGI Federal","plantAddress":{"zip":22025,"countryCode":"USA","stateOrProvince":"VA","line1":"3800 730 | Fettler Park Drive","line2":"Suite 101","city":"Dumfries"},"ownerAddress":{"zip":22033,"countryCode":"USA","stateOrProvince":"VA","line1":"12601 731 | Fair Lakes Circle","city":"Fairfax"}},{"ownerName":"CGI Federal","plantAddress":{"zip":20110,"countryCode":"USA","stateOrProvince":"VA","line1":"9700 732 | Capital Court","city":"Manassas"},"ownerAddress":{"zip":22033,"countryCode":"USA","stateOrProvince":"VA","line1":"12601 733 | Fair Lakes Circle","city":"Fairfax"}},{"ownerName":"CGI Federal","plantAddress":{"zip":73501,"countryCode":"USA","stateOrProvince":"OK","line1":"1224 734 | SW Rex Madeira Road","city":"Lawton"},"ownerAddress":{"zip":22033,"countryCode":"USA","stateOrProvince":"VA","line1":"12601 735 | Fair Lakes Circle","city":"Fairfax"}},{"ownerName":"CGI Federal","plantAddress":{"zip":92108,"countryCode":"USA","stateOrProvince":"CA","line1":"7480 736 | Mission Valley Road, Suite 100","city":"San Diego"},"ownerAddress":{"zip":22033,"countryCode":"USA","stateOrProvince":"VA","line1":"12601 737 | Fair Lakes Circle","city":"Fairfax"}}],"section":"52.214-14.b"}]},{"id":"FAR 738 | 52.223-4","answers":{"answerText":"Vendor will provide information with specific 739 | offers to the Government","section":"52.223-4"}},{"id":"FAR 52.223-9","answers":{"answerText":"Vendor 740 | will provide information with specific offers to the Government","section":"52.223-9"}},{"id":"FAR 741 | 52.219-2","answers":{"answerText":"No","section":"52.219-2.a"}},{"id":"FAR 742 | 52.204-3","answers":[{"answerText":"TIN ON FILE","section":"52.204-3.d"},{"answerText":"Yes","section":"52.204-3.f"},{"Company":{"name":"The 743 | CGI Group Holding Corp","tin":"TIN ON FILE"},"section":"52.204-3.f.3"}]},{"id":"FAR 744 | 52.212-3","answers":[{"naics":[{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541712,"ExcpCounter":1,"naicsName":"Research 745 | and Development in the Physical, Engineering, and Life Sciences (except Biotechnology)"},{"isSmallBusiness":"N","isPrimary":true,"naicsCode":541712,"ExcpCounter":1,"naicsName":"Research 746 | and Development in the Physical, Engineering, and Life Sciences (except Biotechnology)"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541712,"ExcpCounter":2,"naicsName":"Aircraft 747 | Engine and Engine Parts"},{"isSmallBusiness":"N","isPrimary":true,"naicsCode":541712,"ExcpCounter":2,"naicsName":"Aircraft 748 | Engine and Engine Parts"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541712,"ExcpCounter":3,"naicsName":"Other 749 | Aircraft Parts and Auxiliary Equipment"},{"isSmallBusiness":"N","isPrimary":true,"naicsCode":541712,"ExcpCounter":3,"naicsName":"Other 750 | Aircraft Parts and Auxiliary Equipment"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541712,"ExcpCounter":4,"naicsName":"Guided 751 | Missiles and Space Vehicles, Their Propulsion Units and Propulsion Parts"},{"isSmallBusiness":"N","isPrimary":true,"naicsCode":541712,"ExcpCounter":4,"naicsName":"Guided 752 | Missiles and Space Vehicles, Their Propulsion Units and Propulsion Parts"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541519,"ExcpCounter":1,"naicsName":"Other 753 | Computer Related Services"},{"isSmallBusiness":"N","isPrimary":true,"naicsCode":541519,"ExcpCounter":1,"naicsName":"Other 754 | Computer Related Services"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541519,"ExcpCounter":2,"naicsName":"Information 755 | Technology Value Added Resellers"},{"isSmallBusiness":"N","isPrimary":true,"naicsCode":541519,"ExcpCounter":2,"naicsName":"Information 756 | Technology Value Added Resellers"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541330,"ExcpCounter":1,"naicsName":"Engineering 757 | Services"},{"isSmallBusiness":"N","isPrimary":true,"naicsCode":541330,"ExcpCounter":1,"naicsName":"Engineering 758 | Services"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541330,"ExcpCounter":2,"naicsName":"Military 759 | and Aerospace Equipment and Military Weapons"},{"isSmallBusiness":"N","isPrimary":true,"naicsCode":541330,"ExcpCounter":2,"naicsName":"Military 760 | and Aerospace Equipment and Military Weapons"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541330,"ExcpCounter":3,"naicsName":"Contracts 761 | and Subcontracts for Engineering Services Awarded Under the National Energy 762 | Policy Act of 1992"},{"isSmallBusiness":"N","isPrimary":true,"naicsCode":541330,"ExcpCounter":3,"naicsName":"Contracts 763 | and Subcontracts for Engineering Services Awarded Under the National Energy 764 | Policy Act of 1992"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541330,"ExcpCounter":4,"naicsName":"Marine 765 | Engineering and Naval Architecture"},{"isSmallBusiness":"N","isPrimary":true,"naicsCode":541330,"ExcpCounter":4,"naicsName":"Marine 766 | Engineering and Naval Architecture"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":561440,"naicsName":"COLLECTION 767 | AGENCIES"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541618,"naicsName":"OTHER 768 | MANAGEMENT CONSULTING SERVICES"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":611430,"naicsName":"PROFESSIONAL 769 | AND MANAGEMENT DEVELOPMENT TRAINING"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541611,"naicsName":"ADMINISTRATIVE 770 | MANAGEMENT AND GENERAL MANAGEMENT CONSULTING SERVICES"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":561611,"naicsName":"INVESTIGATION 771 | SERVICES"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541513,"naicsName":"COMPUTER 772 | FACILITIES MANAGEMENT SERVICES"},{"isPrimary":false,"naicsCode":925110,"naicsName":"ADMINISTRATION 773 | OF HOUSING PROGRAMS"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541511,"naicsName":"CUSTOM 774 | COMPUTER PROGRAMMING SERVICES"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":611420,"naicsName":"COMPUTER 775 | TRAINING"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":511210,"naicsName":"SOFTWARE 776 | PUBLISHERS"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541990,"naicsName":"ALL 777 | OTHER PROFESSIONAL, SCIENTIFIC, AND TECHNICAL SERVICES"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":518210,"naicsName":"DATA 778 | PROCESSING, HOSTING, AND RELATED SERVICES"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":519190,"naicsName":"ALL 779 | OTHER INFORMATION SERVICES"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":561210,"naicsName":"FACILITIES 780 | SUPPORT SERVICES"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":334111,"naicsName":"ELECTRONIC 781 | COMPUTER MANUFACTURING"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":561110,"naicsName":"OFFICE 782 | ADMINISTRATIVE SERVICES"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541512,"naicsName":"COMPUTER 783 | SYSTEMS DESIGN SERVICES"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":624310,"naicsName":"VOCATIONAL 784 | REHABILITATION SERVICES"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":611699,"naicsName":"ALL 785 | OTHER MISCELLANEOUS SCHOOLS AND INSTRUCTION"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":334511,"naicsName":"SEARCH, 786 | DETECTION, NAVIGATION, GUIDANCE, AERONAUTICAL, AND NAUTICAL SYSTEM AND INSTRUMENT 787 | MANUFACTURING"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":811111,"naicsName":"GENERAL 788 | AUTOMOTIVE REPAIR"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541690,"naicsName":"OTHER 789 | SCIENTIFIC AND TECHNICAL CONSULTING SERVICES"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541614,"naicsName":"PROCESS, 790 | PHYSICAL DISTRIBUTION, AND LOGISTICS CONSULTING SERVICES"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541219,"naicsName":"OTHER 791 | ACCOUNTING SERVICES"}],"section":"52.212-3.c"},{"answerText":"No","section":"52.212-3.c.4"},{"answerText":"No","section":"52.212-3.c.10.ii"},{"answerText":"No","section":"52.212-3.c.11.ii"},{"answerText":"Yes","section":"52.212-3.d.1.i"},{"answerText":"Yes","section":"52.212-3.d.1.ii"},{"answerText":"CGI 792 | FEDERAL INC. has developed and has on file affirmative action programs required 793 | by Secretary of Labor regulations.","section":"52.212-3.d.2.i"},{"answerText":"Vendor 794 | will provide information with specific offers to the Government","section":"52.212-3.f"},{"answerText":"No","section":"52.212-3.h.1"},{"answerText":"No","section":"52.212-3.h.2"},{"answerText":"No","section":"52.212-3.h.4"},{"answerText":"No","section":"52.212-3.h.3"},{"answerText":"No","section":"52.212-3.h.5"},{"answerText":"No","section":"52.212-3.i.2.i"},{"section":"52.212-3.j"},{"answerText":"No","section":"52.212-3.k.1.2.i"},{"answerText":"No","section":"52.212-3.k.2.2"},{"answerText":"Yes","section":"52.212-3.l.5"},{"Company":{"name":"The 795 | CGI Group Holding Corp","tin":"TIN ON FILE"},"section":"52.212-3.l.5.3"},{"answerText":"No","section":"52.212-3.n.2.i"},{"answerText":"No","section":"52.212-3.n.2.ii"},{"answerText":"No","section":"52.226-2.b.1"},{"answerText":"No","section":"52.226-2.b.2"}]},{"id":"FAR 796 | 52.219-1","answers":[{"naics":[{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541712,"ExcpCounter":1,"naicsName":"Research 797 | and Development in the Physical, Engineering, and Life Sciences (except Biotechnology)"},{"isSmallBusiness":"N","isPrimary":true,"naicsCode":541712,"ExcpCounter":1,"naicsName":"Research 798 | and Development in the Physical, Engineering, and Life Sciences (except Biotechnology)"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541712,"ExcpCounter":2,"naicsName":"Aircraft 799 | Engine and Engine Parts"},{"isSmallBusiness":"N","isPrimary":true,"naicsCode":541712,"ExcpCounter":2,"naicsName":"Aircraft 800 | Engine and Engine Parts"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541712,"ExcpCounter":3,"naicsName":"Other 801 | Aircraft Parts and Auxiliary Equipment"},{"isSmallBusiness":"N","isPrimary":true,"naicsCode":541712,"ExcpCounter":3,"naicsName":"Other 802 | Aircraft Parts and Auxiliary Equipment"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541712,"ExcpCounter":4,"naicsName":"Guided 803 | Missiles and Space Vehicles, Their Propulsion Units and Propulsion Parts"},{"isSmallBusiness":"N","isPrimary":true,"naicsCode":541712,"ExcpCounter":4,"naicsName":"Guided 804 | Missiles and Space Vehicles, Their Propulsion Units and Propulsion Parts"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541519,"ExcpCounter":1,"naicsName":"Other 805 | Computer Related Services"},{"isSmallBusiness":"N","isPrimary":true,"naicsCode":541519,"ExcpCounter":1,"naicsName":"Other 806 | Computer Related Services"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541519,"ExcpCounter":2,"naicsName":"Information 807 | Technology Value Added Resellers"},{"isSmallBusiness":"N","isPrimary":true,"naicsCode":541519,"ExcpCounter":2,"naicsName":"Information 808 | Technology Value Added Resellers"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541330,"ExcpCounter":1,"naicsName":"Engineering 809 | Services"},{"isSmallBusiness":"N","isPrimary":true,"naicsCode":541330,"ExcpCounter":1,"naicsName":"Engineering 810 | Services"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541330,"ExcpCounter":2,"naicsName":"Military 811 | and Aerospace Equipment and Military Weapons"},{"isSmallBusiness":"N","isPrimary":true,"naicsCode":541330,"ExcpCounter":2,"naicsName":"Military 812 | and Aerospace Equipment and Military Weapons"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541330,"ExcpCounter":3,"naicsName":"Contracts 813 | and Subcontracts for Engineering Services Awarded Under the National Energy 814 | Policy Act of 1992"},{"isSmallBusiness":"N","isPrimary":true,"naicsCode":541330,"ExcpCounter":3,"naicsName":"Contracts 815 | and Subcontracts for Engineering Services Awarded Under the National Energy 816 | Policy Act of 1992"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541330,"ExcpCounter":4,"naicsName":"Marine 817 | Engineering and Naval Architecture"},{"isSmallBusiness":"N","isPrimary":true,"naicsCode":541330,"ExcpCounter":4,"naicsName":"Marine 818 | Engineering and Naval Architecture"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":561440,"naicsName":"COLLECTION 819 | AGENCIES"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541618,"naicsName":"OTHER 820 | MANAGEMENT CONSULTING SERVICES"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":611430,"naicsName":"PROFESSIONAL 821 | AND MANAGEMENT DEVELOPMENT TRAINING"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541611,"naicsName":"ADMINISTRATIVE 822 | MANAGEMENT AND GENERAL MANAGEMENT CONSULTING SERVICES"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":561611,"naicsName":"INVESTIGATION 823 | SERVICES"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541513,"naicsName":"COMPUTER 824 | FACILITIES MANAGEMENT SERVICES"},{"isPrimary":false,"naicsCode":925110,"naicsName":"ADMINISTRATION 825 | OF HOUSING PROGRAMS"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541511,"naicsName":"CUSTOM 826 | COMPUTER PROGRAMMING SERVICES"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":611420,"naicsName":"COMPUTER 827 | TRAINING"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":511210,"naicsName":"SOFTWARE 828 | PUBLISHERS"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541990,"naicsName":"ALL 829 | OTHER PROFESSIONAL, SCIENTIFIC, AND TECHNICAL SERVICES"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":518210,"naicsName":"DATA 830 | PROCESSING, HOSTING, AND RELATED SERVICES"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":519190,"naicsName":"ALL 831 | OTHER INFORMATION SERVICES"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":561210,"naicsName":"FACILITIES 832 | SUPPORT SERVICES"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":334111,"naicsName":"ELECTRONIC 833 | COMPUTER MANUFACTURING"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":561110,"naicsName":"OFFICE 834 | ADMINISTRATIVE SERVICES"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541512,"naicsName":"COMPUTER 835 | SYSTEMS DESIGN SERVICES"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":624310,"naicsName":"VOCATIONAL 836 | REHABILITATION SERVICES"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":611699,"naicsName":"ALL 837 | OTHER MISCELLANEOUS SCHOOLS AND INSTRUCTION"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":334511,"naicsName":"SEARCH, 838 | DETECTION, NAVIGATION, GUIDANCE, AERONAUTICAL, AND NAUTICAL SYSTEM AND INSTRUMENT 839 | MANUFACTURING"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":811111,"naicsName":"GENERAL 840 | AUTOMOTIVE REPAIR"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541690,"naicsName":"OTHER 841 | SCIENTIFIC AND TECHNICAL CONSULTING SERVICES"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541614,"naicsName":"PROCESS, 842 | PHYSICAL DISTRIBUTION, AND LOGISTICS CONSULTING SERVICES"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541219,"naicsName":"OTHER 843 | ACCOUNTING SERVICES"}],"section":"52.219-1.b"},{"answerText":"No","section":"52.219-1.b.8.ii"}]},{"id":"FAR 844 | 52.219-22","answers":[{"naics":[{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541712,"ExcpCounter":1,"naicsName":"Research 845 | and Development in the Physical, Engineering, and Life Sciences (except Biotechnology)"},{"isSmallBusiness":"N","isPrimary":true,"naicsCode":541712,"ExcpCounter":1,"naicsName":"Research 846 | and Development in the Physical, Engineering, and Life Sciences (except Biotechnology)"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541712,"ExcpCounter":2,"naicsName":"Aircraft 847 | Engine and Engine Parts"},{"isSmallBusiness":"N","isPrimary":true,"naicsCode":541712,"ExcpCounter":2,"naicsName":"Aircraft 848 | Engine and Engine Parts"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541712,"ExcpCounter":3,"naicsName":"Other 849 | Aircraft Parts and Auxiliary Equipment"},{"isSmallBusiness":"N","isPrimary":true,"naicsCode":541712,"ExcpCounter":3,"naicsName":"Other 850 | Aircraft Parts and Auxiliary Equipment"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541712,"ExcpCounter":4,"naicsName":"Guided 851 | Missiles and Space Vehicles, Their Propulsion Units and Propulsion Parts"},{"isSmallBusiness":"N","isPrimary":true,"naicsCode":541712,"ExcpCounter":4,"naicsName":"Guided 852 | Missiles and Space Vehicles, Their Propulsion Units and Propulsion Parts"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541519,"ExcpCounter":1,"naicsName":"Other 853 | Computer Related Services"},{"isSmallBusiness":"N","isPrimary":true,"naicsCode":541519,"ExcpCounter":1,"naicsName":"Other 854 | Computer Related Services"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541519,"ExcpCounter":2,"naicsName":"Information 855 | Technology Value Added Resellers"},{"isSmallBusiness":"N","isPrimary":true,"naicsCode":541519,"ExcpCounter":2,"naicsName":"Information 856 | Technology Value Added Resellers"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541330,"ExcpCounter":1,"naicsName":"Engineering 857 | Services"},{"isSmallBusiness":"N","isPrimary":true,"naicsCode":541330,"ExcpCounter":1,"naicsName":"Engineering 858 | Services"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541330,"ExcpCounter":2,"naicsName":"Military 859 | and Aerospace Equipment and Military Weapons"},{"isSmallBusiness":"N","isPrimary":true,"naicsCode":541330,"ExcpCounter":2,"naicsName":"Military 860 | and Aerospace Equipment and Military Weapons"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541330,"ExcpCounter":3,"naicsName":"Contracts 861 | and Subcontracts for Engineering Services Awarded Under the National Energy 862 | Policy Act of 1992"},{"isSmallBusiness":"N","isPrimary":true,"naicsCode":541330,"ExcpCounter":3,"naicsName":"Contracts 863 | and Subcontracts for Engineering Services Awarded Under the National Energy 864 | Policy Act of 1992"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541330,"ExcpCounter":4,"naicsName":"Marine 865 | Engineering and Naval Architecture"},{"isSmallBusiness":"N","isPrimary":true,"naicsCode":541330,"ExcpCounter":4,"naicsName":"Marine 866 | Engineering and Naval Architecture"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":561440,"naicsName":"COLLECTION 867 | AGENCIES"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541618,"naicsName":"OTHER 868 | MANAGEMENT CONSULTING SERVICES"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":611430,"naicsName":"PROFESSIONAL 869 | AND MANAGEMENT DEVELOPMENT TRAINING"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541611,"naicsName":"ADMINISTRATIVE 870 | MANAGEMENT AND GENERAL MANAGEMENT CONSULTING SERVICES"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":561611,"naicsName":"INVESTIGATION 871 | SERVICES"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541513,"naicsName":"COMPUTER 872 | FACILITIES MANAGEMENT SERVICES"},{"isPrimary":false,"naicsCode":925110,"naicsName":"ADMINISTRATION 873 | OF HOUSING PROGRAMS"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541511,"naicsName":"CUSTOM 874 | COMPUTER PROGRAMMING SERVICES"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":611420,"naicsName":"COMPUTER 875 | TRAINING"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":511210,"naicsName":"SOFTWARE 876 | PUBLISHERS"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541990,"naicsName":"ALL 877 | OTHER PROFESSIONAL, SCIENTIFIC, AND TECHNICAL SERVICES"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":518210,"naicsName":"DATA 878 | PROCESSING, HOSTING, AND RELATED SERVICES"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":519190,"naicsName":"ALL 879 | OTHER INFORMATION SERVICES"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":561210,"naicsName":"FACILITIES 880 | SUPPORT SERVICES"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":334111,"naicsName":"ELECTRONIC 881 | COMPUTER MANUFACTURING"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":561110,"naicsName":"OFFICE 882 | ADMINISTRATIVE SERVICES"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541512,"naicsName":"COMPUTER 883 | SYSTEMS DESIGN SERVICES"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":624310,"naicsName":"VOCATIONAL 884 | REHABILITATION SERVICES"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":611699,"naicsName":"ALL 885 | OTHER MISCELLANEOUS SCHOOLS AND INSTRUCTION"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":334511,"naicsName":"SEARCH, 886 | DETECTION, NAVIGATION, GUIDANCE, AERONAUTICAL, AND NAUTICAL SYSTEM AND INSTRUMENT 887 | MANUFACTURING"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":811111,"naicsName":"GENERAL 888 | AUTOMOTIVE REPAIR"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541690,"naicsName":"OTHER 889 | SCIENTIFIC AND TECHNICAL CONSULTING SERVICES"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541614,"naicsName":"PROCESS, 890 | PHYSICAL DISTRIBUTION, AND LOGISTICS CONSULTING SERVICES"},{"isSmallBusiness":"N","isPrimary":false,"naicsCode":541219,"naicsName":"OTHER 891 | ACCOUNTING SERVICES"}],"section":"52.219-22.b"},{"answerText":"No","section":"52.219-22.b.2.1"},{"answerText":"No","section":"52.219-22.b.1.ii"}]},{"id":"FAR 892 | 52.227-15","answers":{"answerText":"Vendor will provide information with specific 893 | offers to the Government","section":"52.227-15.b.2"}},{"id":"FAR 52.204-17","answers":[{"answerText":"Yes","section":"52.204-17.b"},{"section":"52.204-17.c","immediateOwnerCage":{"hasOwner":"Yes","legalBusinessName":"CGI 894 | TECHNOLOGIES AND SOLUTIONS INC.","cageCode":"8N724"}},{"highestLevelOwnerCage":{"legalBusinessName":"CGI 895 | GROUP INC","ncageCode":"L0A62"},"section":"52.204-17.d"}]},{"id":"FAR 52.222-18","answers":{"answerText":"No","section":"52.222-18.c.1"}},{"id":"FAR 896 | 52.222-22","answers":[{"answerText":"Yes","section":"52.222-22.a"},{"answerText":"Yes","section":"52.222-22.b"}]},{"id":"FAR 897 | 52.222-25","answers":{"answerText":"CGI FEDERAL INC. has developed and has 898 | on file affirmative action programs required by Secretary of Labor regulations.","section":"52.222-25"}},{"id":"FAR 899 | 52.225-2","answers":{"answerText":"Vendor will provide information with specific 900 | offers to the Government","section":"52.225-2.a"}},{"id":"FAR 52.225-4","answers":{"answerText":"Vendor 901 | will provide information with specific offers to the Government","section":"52.225-4.a"}},{"id":"FAR 902 | 52.225-6","answers":{"answerText":"Vendor will provide information with specific 903 | offers to the Government","section":"52.225-6.a"}},{"id":"FAR 52.222-48","answers":{"answerText":"No","section":"52.222-48.a.1"}},{"id":"FAR 904 | 52.222-52","answers":{"answerText":"No","section":"52.222-52.a.1.1"}},{"id":"SF330","answers":{"answerText":"Vendor 905 | will provide information with specific offers to the Government","section":"SF330.1"}}],"pdfUrl":"https://www.sam.gov/SAMPortal/filedownload?reportType=2&orgId=pprvXwALE%2FmWxYO1ihaaaniO0jTZs3cYrpn0GIUNi2VJtmSix%2FxcpO4iv8egwoUr&pitId=ogMEeZYi5Z0pdGDTjpmmMKxIAk9YgiJRoJhqEVL0JvITuX%2FI7Z51uG076vnCxkQP&requestId=V5B0n5tODa7aQcl","dfarResponses":[{"id":"DFAR252.247-7022","answers":{"answerText":"No","section":"252.247-7022.b"}},{"id":"DFAR252.216-7008","answers":{"answerText":"No","section":"DFAR252.216-7008.a"}},{"id":"DFAR252.209-7002","answers":{"answerText":"No","section":"DFAR252.209-7002.1"}},{"id":"DFAR 906 | 252.225-7000","answers":{"answerText":"Vendor will provide information with 907 | specific offers to the Government","section":"252.225-7000.c.1"}},{"id":"DFAR 908 | 252.225-7020","answers":{"answerText":"Vendor will provide information with 909 | specific offers to the Government","section":"252.225-7020.c.1"}},{"id":"DFAR 910 | 252.225-7022","answers":{"answerText":"Vendor will provide information with 911 | specific offers to the Government","section":"252.225-7022.c.1"}},{"id":"DFAR 912 | 252.225-7035","answers":{"answerText":"Vendor will provide information with 913 | specific offers to the Government","section":"252.225-7035.c.1"}},{"id":"DFAR252.247-7049","answers":[{"answerText":"No","section":"252.247-7049.1"},{"answerText":"No","section":"252.247-7049.2"},{"answerText":"No","section":"252.247-7049.3"},{"answerText":"No","section":"252.247-7049.4"}]}]},"corporateUrl":"http://www.cgifederal.com","creditCardUsage":true,"countryOfIncorporation":"USA","electronicBusinessPoc":{"lastName":"YOUTZY","fax":"7032277477","address":{"zip":"22033","countryCode":"USA","line1":"12601 914 | FAIR LAKES CIRCLE","stateorProvince":"VA","city":"FAIRFAX"},"email":"SAM.CGIFEDERAL@CGIFEDERAL.COM","usPhone":"7032276000","firstName":"KIM"},"mailingAddress":{"zipPlus4":"4902","zip":"22033","countryCode":"USA","line1":"12601 915 | FAIR LAKES CIRCLE","stateorProvince":"VA","line2":"GWAC SOLUTIONS CENTER","city":"FAIRFAX"},"purposeOfRegistration":"ALL_AWARDS"}}}' 916 | http_version: 917 | recorded_at: Tue, 24 May 2016 20:30:30 GMT 918 | - request: 919 | method: get 920 | uri: https://api.data.gov/sam/v4/registrations/5061639620000?api_key= 921 | body: 922 | encoding: UTF-8 923 | string: '' 924 | headers: 925 | User-Agent: 926 | - HTTPClient/1.0 (2.8.0, ruby 2.3.0 (2015-12-25)) 927 | Accept: 928 | - "*/*" 929 | Date: 930 | - Tue, 07 Jun 2016 00:09:45 GMT 931 | response: 932 | status: 933 | code: 200 934 | message: OK 935 | headers: 936 | Server: 937 | - openresty 938 | Date: 939 | - Tue, 07 Jun 2016 00:09:45 GMT 940 | Content-Type: 941 | - application/json 942 | Transfer-Encoding: 943 | - chunked 944 | Connection: 945 | - keep-alive 946 | Vary: 947 | - Accept-Encoding 948 | - Accept-Encoding 949 | X-Ratelimit-Limit: 950 | - '25' 951 | X-Ratelimit-Remaining: 952 | - '24' 953 | Age: 954 | - '0' 955 | Via: 956 | - http/1.1 api-umbrella (ApacheTrafficServer [cMsSf ]) 957 | X-Cache: 958 | - MISS 959 | body: 960 | encoding: UTF-8 961 | string: '{"sam_data":{"registration":{"govtBusinessPoc":{"lastName":"RAKIC","address":{"zip":"11111","countryCode":"SRB","line1":"Molerova 962 | 12/2","stateorProvince":"AA","city":"Belgrade"},"email":"GRAKIC@DEVBASE.NET","nonUsPhone":"381-637074291","firstName":"GORAN"},"hasKnownExclusion":false,"publicDisplay":true,"status":"WIP","corporateStructureCode":"2J","corporateStructureName":"Sole 963 | Proprietorship","ncage":"A0C7S","legalBusinessName":"GORAN RAKIC PR DEVBASE","dunsPlus4":"0000","congressionalDistrict":" 964 | ","bondingInformation":{},"fiscalYearEndCloseDate":"12/31","businessStartDate":"2015-10-28","businessTypes":["VW","2X"],"lastUpdateDate":"2016-03-16 965 | 17:29:25.0","samAddress":{"zip":"11111","countryCode":"SRB","line1":"MOLEROVA 966 | 12","city":"Belgrade"},"naics":[{"isPrimary":true,"naicsCode":"541511","naicsName":"CUSTOM 967 | COMPUTER PROGRAMMING SERVICES"}],"registrationDate":"2016-03-16 00:00:00.0","creditCardUsage":true,"duns":"506163962","countryOfIncorporation":"SRB","electronicBusinessPoc":{"lastName":"RAKIC","address":{"zip":"11111","countryCode":"SRB","line1":"Molerova 968 | 12/2","stateorProvince":"AA","city":"Belgrade"},"email":"GRAKIC@DEVBASE.NET","nonUsPhone":"381-637074291","firstName":"GORAN"},"mailingAddress":{"zip":"11111","countryCode":"SRB","line1":"MOLEROVA 969 | 12/2","city":"Belgrade"},"purposeOfRegistration":"ALL_AWARDS"}}}' 970 | http_version: 971 | recorded_at: Tue, 07 Jun 2016 00:09:45 GMT 972 | recorded_with: VCR 3.0.3 973 | --------------------------------------------------------------------------------